mirror of
https://github.com/isaacfreeman/kakano-obsidian-theme.git
synced 2026-07-22 03:30:27 +00:00
10241 lines
290 KiB
CSS
10241 lines
290 KiB
CSS
/* Compiled Kakano theme */
|
||
/*
|
||
|
||
# Kakano Theme for Obsidian
|
||
|
||
Principles:
|
||
- **Strong color**
|
||
Users should be able to easily select a color for each vault and have the theme generate shades and gradients automatically.
|
||
- **Help new users**
|
||
Obsidian can be intimidating for new users. I think a good way to help with this is to clarify which parts of the window are user content (white background, strong contrast) and which are navigation and other controls (colored background, lower contrast).
|
||
- **Standardise controls**
|
||
Obsidian’s exuberant plugin scene is fantastic, but it also means that there’s a lot of inconsistency in the design of controls and modals – even between core plugins. I’ve tried to find ways to make similar controls have similar appearance. Likewise, I’ve aimed to follow conventions from the underlying OS, such as having close controls on the left on macOS.
|
||
- **Be opinionated enough**
|
||
I’d like Kakano to provide a great user experience by default without the user having to make any choices beyond their base color. It has settings, but I want each one to be there because different users genuinely have different needs, not just because I failed to make a decision.
|
||
|
||
*/
|
||
/* #region Plugin compatibility */
|
||
|
||
/* @plugins
|
||
core:
|
||
- audio-recorder
|
||
- backlink
|
||
- bases
|
||
- bookmarks
|
||
- command-palette
|
||
- daily-notes
|
||
- file-explorer
|
||
- file-recovery
|
||
- footnotes-view
|
||
- global-search
|
||
- graph
|
||
- note-composer
|
||
- outgoing-link
|
||
- outline
|
||
- page-preview
|
||
- properties-view
|
||
- random-note
|
||
- slash-commands
|
||
- starred
|
||
- switcher
|
||
- sync
|
||
- tag-pane
|
||
- templates
|
||
- word-count
|
||
- workspaces
|
||
community:
|
||
- calendar
|
||
- dataview
|
||
- folder-note-plugin
|
||
- nldates-obsidian
|
||
- obsidian-columns
|
||
- obsidian-jira-issue
|
||
- obsidian-kanban
|
||
- obsidian-map-view
|
||
- obsidian-plugin-update-tracker
|
||
- obsidian-style-settings
|
||
- obsidian-tasks-plugin
|
||
- oz-clear-unused-images
|
||
- recent-files-obsidian
|
||
- table-editor-obsidian
|
||
*/
|
||
|
||
/* #endregion */
|
||
/* #region Style Settings plugin config */
|
||
|
||
/* @settings
|
||
|
||
name: Kakano Theme
|
||
id: kakano-style
|
||
settings:
|
||
-
|
||
id: heading-baseColor
|
||
title: Base color
|
||
type: heading
|
||
level: 1
|
||
collapsed: false
|
||
-
|
||
id: infoText-baseColor
|
||
description: "The Kakano theme uses a base color for each vault, and generates different shades and gradients from it. You can either select from one of the preset colors, or specify an exact color."
|
||
type: info-text
|
||
markdown: true
|
||
-
|
||
id: theme-setting-predefinedBaseColor
|
||
title: 'Preset base color'
|
||
description: 'If you just want a quick color, choose one of these.'
|
||
type: class-select
|
||
allowEmpty: true
|
||
default: theme-setting-baseColorPreset-kahurangi
|
||
options:
|
||
-
|
||
label: 'Use accent color'
|
||
value: theme-setting-baseColorPreset-accent
|
||
-
|
||
label: 'Whero – Red'
|
||
value: theme-setting-baseColorPreset-whero
|
||
-
|
||
label: 'Karaka – Orange'
|
||
value: theme-setting-baseColorPreset-karaka
|
||
-
|
||
label: 'Kōwhai – Yellow'
|
||
value: theme-setting-baseColorPreset-koowhai
|
||
-
|
||
label: 'Kākāriki – Green'
|
||
value: theme-setting-baseColorPreset-kaakaariki
|
||
-
|
||
label: 'Kārikiōrangi – Cyan'
|
||
value: theme-setting-baseColorPreset-kaarikioorangi
|
||
-
|
||
label: 'Kahurangi – Blue'
|
||
value: theme-setting-baseColorPreset-kahurangi
|
||
-
|
||
label: 'Waiporoporo – Purple'
|
||
value: theme-setting-baseColorPreset-waiporoporo
|
||
-
|
||
label: 'Māwhero – Pink'
|
||
value: theme-setting-baseColorPreset-maawhero
|
||
-
|
||
label: 'Mangu – Black'
|
||
value: theme-setting-baseColorPreset-mangu
|
||
-
|
||
label: 'Mā – White'
|
||
value: theme-setting-baseColorPreset-maa
|
||
-
|
||
label: 'Kiwikiwi – Grey'
|
||
value: theme-setting-baseColorPreset-kiwikiwi
|
||
-
|
||
id: base
|
||
title: Exact base color
|
||
description: 'Set an exact base color. Make sure "Preset base color" is empty, and click Save to apply.'
|
||
type: variable-color
|
||
format: hsl-split
|
||
default: '#2176B0'
|
||
-
|
||
id: heading-notes
|
||
title: Notes
|
||
type: heading
|
||
level: 1
|
||
collapsed: false
|
||
-
|
||
id: heading-notes-appearance
|
||
title: Appearance
|
||
type: heading
|
||
level: 2
|
||
collapsed: true
|
||
-
|
||
id: theme-setting-lightModeNoteBg
|
||
title: 'Light mode note background'
|
||
description: 'In light mode, note backgrounds can be full white (default) or near white with a slight tint of the base color.'
|
||
type: class-select
|
||
allowEmpty: false
|
||
default: theme-setting-lightModeNoteBgFullWhite
|
||
options:
|
||
-
|
||
label: 'Near white'
|
||
value: theme-setting-lightModeNoteBgNearWhite
|
||
-
|
||
label: 'Full white'
|
||
value: theme-setting-lightModeNoteBgFullWhite
|
||
-
|
||
id: theme-value-darkModeNoteBg
|
||
title: 'Dark mode note background'
|
||
description: 'In dark mode, note backgrounds can be near black (default) or full black. Near black is a bit easier on the eyes. Full black will save a little energy on OLED screens which will switch back pixels completely off. And some people just like the way it looks.'
|
||
type: class-select
|
||
allowEmpty: false
|
||
default: theme-value-darkModeNoteBgNearBlack
|
||
options:
|
||
-
|
||
label: 'Near black (less eye strain)'
|
||
value: theme-value-darkModeNoteBgNearBlack
|
||
-
|
||
label: 'Full black (OLED screen will switch pixels off)'
|
||
value: theme-value-darkModeNoteBgFullBlack
|
||
-
|
||
id: theme-setting-distinguishNonContentTabs
|
||
title: "Distinguish non-editable tabs"
|
||
description: "Most tabs have content created by you (e.g. notes, canvases, kanban charts) but some aren't directly editable (e.g. graphs, calendars, maps). When this setting is on, the non-editable tabs are shaded differently when inactive."
|
||
default: true
|
||
type: class-toggle
|
||
-
|
||
id: theme-setting-wrapTabs
|
||
title: "Wrap Tabs"
|
||
description: "EXPERIMENTAL If there are more tabs than fit in a single row, allow them to wrap to multiple rows."
|
||
default: false
|
||
type: class-toggle
|
||
-
|
||
id: setting-properties-position
|
||
title: 'Properties position'
|
||
description: 'Place properties before or after your main note content. Note that this only applies to Live Preview mode.'
|
||
type: class-select
|
||
allowEmpty: false
|
||
default: 'setting-properties-position-above'
|
||
options:
|
||
-
|
||
label: 'Above main note content'
|
||
value: 'setting-properties-position-above'
|
||
-
|
||
label: 'Below main note content'
|
||
value: 'setting-properties-position-below'
|
||
-
|
||
id: theme-setting-embeddedNoteTitleVisibility
|
||
title: 'Embedded note titles'
|
||
description: "When a note is embedded in another note, show or hide the source note's title."
|
||
type: class-select
|
||
allowEmpty: false
|
||
default: theme-setting-embeddedNoteTitleVisibilityHover
|
||
options:
|
||
-
|
||
label: 'Always hidden'
|
||
value: theme-setting-embeddedNoteTitleVisibilityHide
|
||
-
|
||
label: 'Visible on hover'
|
||
value: theme-setting-embeddedNoteTitleVisibilityHover
|
||
-
|
||
label: 'Always visible'
|
||
value: theme-setting-embeddedNoteTitleVisibilityShow
|
||
-
|
||
id: theme-setting-stickyEmbeddedLinks
|
||
title: 'Embedded links scroll position'
|
||
description: 'EXPERIMENTAL Embedded links can be placed at the below your content (so you scroll to the bottom to see them), or pinned so they stay visible as you scroll.'
|
||
type: class-select
|
||
allowEmpty: false
|
||
default: 'theme-setting-stickyEmbeddedLinks-off'
|
||
options:
|
||
-
|
||
label: 'Place below content (scroll down to view)'
|
||
value: 'theme-setting-stickyEmbeddedLinks-off'
|
||
-
|
||
label: 'Pin (stay visible while content scrolls)'
|
||
value: 'theme-setting-stickyEmbeddedLinks-on'
|
||
-
|
||
id: heading-typographySettings
|
||
title: Typography
|
||
type: heading
|
||
level: 2
|
||
collapsed: true
|
||
-
|
||
id: theme-setting-differentiateBulletLevels
|
||
title: 'Style nested bullet levels differently'
|
||
description: "Show different bullets for different levels of nesting"
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: heading-HeadingSettings
|
||
title: Headings
|
||
type: heading
|
||
level: 3
|
||
collapsed: false
|
||
-
|
||
id: theme-setting-headingFont
|
||
title: Heading font
|
||
description: Font used for headings. Leave empty to use the same font as body text, as defined by `Text font` in `Appearance`.
|
||
type: variable-text
|
||
default: ""
|
||
quotes: true
|
||
-
|
||
id: theme-setting-headingScaleFactor
|
||
title: 'Heading scale factor – desktop/tablet'
|
||
description: 'Scale factor for heading sizes. Larger numbers will increase the difference between different heading sizes, smaller numbers will decrease the difference.'
|
||
type: class-select
|
||
allowEmpty: false
|
||
default: theme-setting-headingScaleFactor1point2
|
||
options:
|
||
-
|
||
label: '1.067 - Minor Second'
|
||
value: theme-setting-headingScaleFactor1point067
|
||
-
|
||
label: '1.125 - Major Second'
|
||
value: theme-setting-headingScaleFactor1point125
|
||
-
|
||
label: '1.200 - Minor Third'
|
||
value: theme-setting-headingScaleFactor1point2
|
||
-
|
||
label: '1.250 - Major Third'
|
||
value: theme-setting-headingScaleFactor1point25
|
||
-
|
||
label: '1.333 - Perfect Fourth'
|
||
value: theme-setting-headingScaleFactor1point333
|
||
-
|
||
label: '1.414 - Augmented Fourth'
|
||
value: theme-setting-headingScaleFactor1point414
|
||
-
|
||
label: '1.500 - Perfect Fifth'
|
||
value: theme-setting-headingScaleFactor1point5
|
||
-
|
||
label: '1.618 - Golden Ratio'
|
||
value: theme-setting-headingScaleFactor1point618
|
||
-
|
||
id: theme-setting-headingScaleFactorPhone
|
||
title: 'Heading scale factor – phone'
|
||
description: "Scale factor for heading sizes on smaller phone screens. With space at a premium, you'll usually want this to be smaller than the desktop scale factor"
|
||
type: class-select
|
||
allowEmpty: false
|
||
default: theme-setting-headingScaleFactorPhone1point125
|
||
options:
|
||
-
|
||
label: '1.067 - Minor Second'
|
||
value: theme-setting-headingScaleFactorPhone1point067
|
||
-
|
||
label: '1.125 - Major Second'
|
||
value: theme-setting-headingScaleFactorPhone1point125
|
||
-
|
||
label: '1.200 - Minor Third'
|
||
value: theme-setting-headingScaleFactorPhone1point2
|
||
-
|
||
label: '1.250 - Major Third'
|
||
value: theme-setting-headingScaleFactorPhone1point25
|
||
-
|
||
label: '1.333 - Perfect Fourth'
|
||
value: theme-setting-headingScaleFactorPhone1point333
|
||
-
|
||
label: '1.414 - Augmented Fourth'
|
||
value: theme-setting-headingScaleFactorPhone1point414
|
||
-
|
||
label: '1.500 - Perfect Fifth'
|
||
value: theme-setting-headingScaleFactorPhone1point5
|
||
-
|
||
label: '1.618 - Golden Ratio'
|
||
value: theme-setting-headingScaleFactorPhone1point618
|
||
-
|
||
id: heading-lineWidthSettings
|
||
title: Line length
|
||
type: heading
|
||
level: 3
|
||
collapsed: false
|
||
-
|
||
id: infoText-lineWidth
|
||
description: "Maximum line length in characters. 50-75 characters is often recommended for readability in languages with Latin scripts. 15-35 characters may be better for Chinese, Japanese and Korean characters.
|
||
<br><br>
|
||
These settings apply when the **Readable line length** setting is enabled in **Editor**"
|
||
type: info-text
|
||
markdown: true
|
||
-
|
||
id: theme-setting-lineWidth
|
||
title: 'Line length for Live Preview and Source Mode'
|
||
description: ''
|
||
type: variable-number-slider
|
||
default: 60
|
||
min: 10
|
||
max: 120
|
||
step: 5
|
||
-
|
||
id: theme-setting-lineWidthReadingView
|
||
title: 'Line length for Reading View'
|
||
description: ''
|
||
type: variable-number-slider
|
||
default: 60
|
||
min: 10
|
||
max: 120
|
||
step: 5
|
||
-
|
||
id: heading-editing
|
||
title: Editing
|
||
type: heading
|
||
level: 2
|
||
collapsed: true
|
||
-
|
||
id: infoText-editing
|
||
description: "These settings apply to the **Live Preview** and **Source** modes, but not to the **Reading** mode."
|
||
type: info-text
|
||
markdown: true
|
||
-
|
||
id: theme-setting-highlightActiveLine
|
||
title: 'Highlight active line'
|
||
description: "Show a background color behind the active line while editing."
|
||
type: class-toggle
|
||
-
|
||
id: theme-setting-codeBlockLineNumbers
|
||
title: 'Line numbers in code blocks'
|
||
description: "Show line numbers in code blocks"
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: heading-layout
|
||
title: Layout
|
||
type: heading
|
||
level: 2
|
||
collapsed: true
|
||
-
|
||
id: theme-setting-centerImages
|
||
title: 'Center images'
|
||
description: "Center images horizontally"
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: infoText-centerImages
|
||
description: "Images can also be centered individually e.g. `![[image_file_name.jpg|center]]`"
|
||
type: info-text
|
||
markdown: true
|
||
-
|
||
id: theme-setting-wideTables
|
||
title: 'Wide tables'
|
||
description: "Allow wide tables to extend left and right beyond the margins for body text."
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: heading-ui
|
||
title: User Interface
|
||
type: heading
|
||
level: 1
|
||
collapsed: false
|
||
-
|
||
id: heading-ui-appearance
|
||
title: Appearance
|
||
type: heading
|
||
level: 2
|
||
collapsed: true
|
||
-
|
||
id: theme-setting-roundness
|
||
title: 'Roundness'
|
||
description: 'Degree of roundness for UI elements. Zero for sharp corners, higher for more rounding.'
|
||
type: variable-number-slider
|
||
default: 0.5
|
||
min: 0
|
||
max: 2
|
||
step: 0.25
|
||
-
|
||
id: heading-ui-background
|
||
title: Background
|
||
type: heading
|
||
level: 2
|
||
collapsed: true
|
||
-
|
||
id: theme-value-gradientContrast
|
||
title: 'Background gradient contrast'
|
||
description: 'Degree of contrast for background gradients. Set to zero for a flat background color.'
|
||
type: variable-number-slider
|
||
default: 0.2
|
||
min: 0
|
||
max: 1
|
||
step: 0.1
|
||
-
|
||
id: heading-customGradient
|
||
title: Custom Gradient
|
||
type: heading
|
||
level: 3
|
||
collapsed: true
|
||
-
|
||
id: theme-setting-customGradient
|
||
title: 'Use a custom gradient for the background'
|
||
description: "Kakano normally provides a smooth gradient background using the same hue as the base color. This setting overrides that so you can have a gradient with different hues top and bottom. Note that the colors you set here won't be used directly: they'll be lightened for light mode and darkened for dark mode."
|
||
type: class-toggle
|
||
-
|
||
id: theme-color-customGradientBaseTop
|
||
title: Custom Gradient Top
|
||
description: 'Base color for the top of the gradient'
|
||
type: variable-color
|
||
format: hsl
|
||
default: '#ff0000'
|
||
-
|
||
id: theme-color-customGradientBaseBottom
|
||
title: Custom Gradient Bottom
|
||
description: 'Base color for the bottom of the gradient'
|
||
type: variable-color
|
||
format: hsl
|
||
default: '#0000ff'
|
||
-
|
||
id: heading-layout
|
||
title: Layout
|
||
type: heading
|
||
level: 2
|
||
collapsed: true
|
||
-
|
||
id: theme-setting-fullWidthStatusBar
|
||
title: 'Full width status bar'
|
||
description: "EXPERIMENTAL If you have many items in your status bar, you may find that it overflows onto the sidebars. This setting will push the main app workspace up so the status bar can use the full window width."
|
||
type: class-toggle
|
||
-
|
||
id: heading-icons
|
||
title: Icons
|
||
type: heading
|
||
level: 2
|
||
collapsed: true
|
||
-
|
||
id: theme-setting-enableIconsInSettings
|
||
title: 'Enable icons in Settings'
|
||
description: "Obsidian normally shows icons beside settings groups. If you find that distracting, this setting allows you to hide them."
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-enableIconsInMenus
|
||
title: 'Enable icons in non-native Menus'
|
||
description: "Obsidian normally shows icons for menu items. This setting does not apply if Native Menus are enabled."
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: heading-mobile
|
||
title: Mobile
|
||
type: heading
|
||
level: 1
|
||
collapsed: true
|
||
-
|
||
id: theme-setting-mobileHorizontalPadding
|
||
title: 'Mobile horizontal spacing'
|
||
description: "Width of space to the left and right of the note content. Set to zero if you'd like the note to extend to the full width, 0.5 or 1 if you'd like to see your background gradient."
|
||
type: variable-number-slider
|
||
default: 0.5
|
||
min: 0
|
||
max: 1
|
||
step: 0.25
|
||
-
|
||
id: theme-setting-mobileCardsUI
|
||
title: 'Mobile cards UI'
|
||
description: "EXPERIMENTAL Scale the main workspace down when there's a modal in the foreground, creating a 3D cards effect. Currently unfinished, but you can see it when you open a prompt."
|
||
type: class-toggle
|
||
-
|
||
id: heading-compatibility
|
||
title: Compatibility
|
||
type: heading
|
||
level: 1
|
||
collapsed: false
|
||
-
|
||
id: heading-compatibility-builtin
|
||
title: Built-in feature Toggles
|
||
type: heading
|
||
level: 2
|
||
collapsed: true
|
||
-
|
||
id: theme-setting-enableBuiltInAlternativeCheckboxes
|
||
title: 'Enable built-in alternative checkboxes'
|
||
description: "Kakano provides styles for some common alternative checkbox states. Different themes have built-in support for different sets of alternative checkboxes, so some users may prefer to use their own CSS snippets that work across multiple themes. If you'd like to do this, you can disable Kakano's built-in alternative checkboxes to ensure that they don't clas with the snippet."
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: infoText-alternativeCheckboxesReferenceSet
|
||
description: "> [!info]
|
||
> The [Alternative Checkboxes Reference Set project](https://github.com/damiankorcz/Alternative-Checkboxes-Reference-Set) is working on standardising alternative checkboxes."
|
||
type: info-text
|
||
markdown: true
|
||
-
|
||
id: theme-setting-enableImageAdjustmentWithAltText
|
||
title: 'Enable image adjustment with alt text'
|
||
description: "With this setting enabled, Kakano recognises keywords in alt text to position images left/right/center and round corners. None of these are crucial functionality, so if you need to use alt text for its real purpose of accessibility, you can disable this setting."
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: heading-communityPlugins
|
||
title: Community Plugin Toggles
|
||
type: heading
|
||
level: 2
|
||
collapsed: true
|
||
-
|
||
id: infoText-communityPlugins
|
||
description: "By default, Kakano changes the appearance of many community plugins to provide a more consistent appearance. If you prefer the standard appearance for a plugin you can disable Kakano's changes."
|
||
type: info-text
|
||
markdown: true
|
||
-
|
||
id: theme-setting-overrideAdvancedTables
|
||
title: 'Advanced Tables'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideCalendar
|
||
title: 'Calendar'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideClearUnusedImages
|
||
title: 'Clear Unused Images'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideColumns
|
||
title: 'Columns'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideDataview
|
||
title: 'Dataview'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideExcalidraw
|
||
title: 'Excalidraw'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideFolderNote
|
||
title: 'Folder Note'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideJiraIssue
|
||
title: 'Jira Issue'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideKanban
|
||
title: 'Kanban'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideMapView
|
||
title: 'Map View'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overridePluginUpdateTracker
|
||
title: 'Plugin Update Tracker'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideRecentFiles
|
||
title: 'Recent Files'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideTasks
|
||
title: 'Tasks'
|
||
type: class-toggle
|
||
default: true
|
||
-
|
||
id: theme-setting-overrideStyleSettings
|
||
title: 'Style Settings'
|
||
type: class-toggle
|
||
default: true
|
||
*/
|
||
|
||
/* #endregion */
|
||
/* #region Custom properties */
|
||
/* #region General */
|
||
|
||
body {
|
||
--background-input: light-dark(var(--theme-color-baseTransparent12), var(--theme-color-darkenTransparent06));
|
||
--background-modifier-message: var(--theme-color-noticeBg);
|
||
--background-secondary: transparent;
|
||
--bases-cards-shadow: var(--shadow-s);
|
||
--bases-cards-shadow-hover: var(--shadow-s);
|
||
--callout-padding: var(--theme-padding-block);
|
||
--checkbox-border-color-hover: var(--interactive-accent-hover);
|
||
--checkbox-border-color: var(--interactive-accent);
|
||
--checkbox-color: var(--interactive-accent);
|
||
--code-background: light-dark(var(--theme-color-darkenTransparent06),
|
||
var(--theme-color-lightenTransparent06));
|
||
--code-comment: light-dark(var(--theme-color-darkenTransparent50),
|
||
var(--theme-color-lightenTransparent50));
|
||
--code-normal: var(--text-normal);
|
||
|
||
--divider-width: 0;
|
||
--dropdown-background: var(--theme-color-controlBg);
|
||
--embed-background: var(--theme-color-baseTransparent12);
|
||
--embed-border-bottom: none;
|
||
--embed-border-left: none;
|
||
--embed-border-right: none;
|
||
--embed-border-top: none;
|
||
--embed-padding: 1em;
|
||
|
||
/* Using 0.625rem here as approximately 1ch. We can't use ch because we want line width to be constant across font sizes, so it's the same for headings and body text. */
|
||
--file-line-width: calc(0.625rem * var(--theme-setting-lineWidth));
|
||
|
||
--file-margins: 0 2em;
|
||
--flair-background: var(--theme-color-base);
|
||
--flair-color: var(--text-on-accent);
|
||
--font-ui-smaller: 0.8rem;
|
||
--header-height: calc(var(--icon-size) + 1rem);
|
||
--heading-spacing: 0.67em;
|
||
--input-border-width: 2px;
|
||
--list-marker-color: var(--text-normal);
|
||
--list-bullet-size: 0.25em;
|
||
--list-bullet-transform: none;
|
||
--list-marker-color-collapsed: var(--list-marker-color);
|
||
--list-indent: 1.5em;
|
||
--metadata-divider-width: 0;
|
||
--metadata-gap: 0.5em;
|
||
--metadata-property-box-shadow-hover: none;
|
||
--modal-border-color: black;
|
||
--modal-border-width: 0;
|
||
--modal-height: 85vh;
|
||
--modal-max-height: calc(100vh - var(--safe-area-inset-top) - var(--safe-area-inset-bottom) - 2em);
|
||
--modal-max-width: calc(100vw - var(--safe-area-inset-left) - var(--safe-area-inset-right) - 2em);
|
||
--nav-item-background-hover: var(--theme-color-baseTransparent75);
|
||
--nav-item-children-margin-start: calc(var(--size-4-4) / 2 - var(--nav-indentation-guide-width) / 2);
|
||
--nav-item-children-padding-start: calc(1em - var(--nav-indentation-guide-width) / 2);
|
||
--nav-item-color-highlighted: var(--nav-item-hover);
|
||
--nav-item-padding: 0.375em 0.75em 0.375em 0.75em;
|
||
--nav-item-parent-padding: 0.25em 0 0.25em 0;
|
||
--p-spacing: 1em;
|
||
--pill-focus-left-adjust: 0;
|
||
--pill-focus-width: 100%;
|
||
--prompt-border-color: transparent;
|
||
--prompt-border-width: 0;
|
||
|
||
--ribbon-background-collapsed: transparent;
|
||
--ribbon-background: transparent;
|
||
--ribbon-width: 3em;
|
||
--setting-group-heading-color: var(--text-normal);
|
||
--setting-group-heading-size: var(--font-ui-medium);
|
||
--setting-group-heading-weight: var(--font-semibold);
|
||
--setting-items-background: none;
|
||
--setting-items-padding: 0;
|
||
--setting-items-border-width: 0;
|
||
--setting-items-border-color: var(--background-modifier-border);
|
||
--sidebar-markdown-font-size: calc(var(--font-text-size) * var(--theme-value-sidebarFontScalingFactor));
|
||
--slider-track-background: var(--theme-color-baseTransparent50);
|
||
--status-bar-background: var(--theme-color-gradientTop);
|
||
--status-bar-text-color: var(--text-normal);
|
||
--tab-container-background: transparent;
|
||
--tab-outline-width: 0;
|
||
--tab-switcher-preview-background-shadow: var(--shadow-l);
|
||
--tab-switcher-preview-shadow: none;
|
||
--tab-switcher-preview-shadow-active: none;
|
||
--tab-text-color-focused-highlighted: var(--theme-color-base);
|
||
--tab-text-color-focused-active-current: var(--text-normal);
|
||
--tag-weight: 400;
|
||
--text-on-accent: var(--theme-color-baseLightened95);
|
||
--text-muted: color-mix(in srgb, var(--text-normal), transparent 30%);
|
||
--titlebar-background-focused: transparent;
|
||
--titlebar-background: transparent;
|
||
--vault-profile-color-hover: var(--theme-color-controlHover);
|
||
|
||
/* Roundness */
|
||
--theme-setting-roundness: 0.5;
|
||
--theme-setting-baseRadius: calc(1rem * var(--theme-setting-roundness));
|
||
|
||
--radius-xs: calc(0.25 * var(--theme-setting-baseRadius));
|
||
--radius-s: calc(0.5 * var(--theme-setting-baseRadius));
|
||
--radius-m: var(--theme-setting-baseRadius);
|
||
--radius-l: calc(1.5 * var(--theme-setting-baseRadius));
|
||
--radius-xl: calc(2 * var(--theme-setting-baseRadius));
|
||
|
||
--checkbox-radius: var(--radius-s);
|
||
--clickable-icon-radius: var(--radius-s);
|
||
--input-radius: var(--radius-s);
|
||
--modal-radius: var(--radius-m);
|
||
--search-input-radius: var(--radius-s);
|
||
--tab-curve: var(--radius-xs);
|
||
--tab-radius-active: var(--radius-s);
|
||
--tab-radius: var(--radius-s);
|
||
--toggle-radius: var(--radius-l);
|
||
--toggle-thumb-radius: var(--radius-l);
|
||
--vault-profile-radius: var(--radius-m);
|
||
--setting-items-radius: 0;
|
||
/* These are transparent for Kakano, so the radius doesn't matter. */
|
||
--list-bullet-radius: 50%;
|
||
--theme-length-fullBorderRadius: 9999px;
|
||
|
||
/* Other new variables for this theme */
|
||
--theme-color-dragTarget: var(--theme-color-baseTransparent50);
|
||
--theme-color-dragTargetBg: var(--theme-color-baseTransparent25);
|
||
--theme-color-graphViewBg: transparent;
|
||
--theme-color-tabBgInactiveHover: var(--theme-color-baseTransparent75);
|
||
--theme-color-tableHeaderBg: var(--theme-color-baseTransparent12);
|
||
--theme-color-dataviewEmpty: light-dark(var(--theme-color-baseLightened40),
|
||
var(--theme-color-baseDarkened40));
|
||
--theme-color-card: var(--nav-item-color);
|
||
--theme-color-cardBg: var(--background-primary);
|
||
--theme-color-cardHover: var(--nav-item-color-hover);
|
||
--theme-color-cardBgHover: var(--theme-color-base);
|
||
--theme-setting-lineWidth: 60;
|
||
--theme-spacing-mobileHorizontalSpacing: calc(var(--theme-setting-mobileHorizontalPadding) * 1rem);
|
||
--theme-length-checkboxBorderWidth: 1px;
|
||
--theme-length-closeButtonWidth: 1.5rem;
|
||
--theme-length-collapseIndicatorSize: 1.5rem;
|
||
--theme-length-controlSetSpacing: 0.5rem;
|
||
--theme-length-statusBarHeight: 2rem;
|
||
/* Additional radius size alongside built-in radius-x */
|
||
--theme-value-sidebarFontScalingFactor: 0.8;
|
||
|
||
--theme-length-cardMinWidth: 8em;
|
||
--theme-length-cardMaxWidth: 1fr;
|
||
--theme-grid-cardSet: repeat(auto-fit,
|
||
minmax(var(--theme-length-cardMinWidth), var(--theme-length-cardMaxWidth)));
|
||
--theme-length-cardImageHeight: 25em;
|
||
--theme-cardImageFit: contain;
|
||
--theme-cardAspectRatio: auto;
|
||
|
||
--theme-padding-block: var(--theme-padding-blockVertical) var(--theme-padding-blockHorizontal);
|
||
/* Used for callouts, embeds etc. */
|
||
--theme-padding-blockHorizontal: 1.5em;
|
||
--theme-padding-blockVertical: 0.75em;
|
||
}
|
||
|
||
/* TODO: what about other OSes */
|
||
.mod-macos:not(.is-mobile) .mod-settings {
|
||
--dropdown-background: var(--theme-color-controlBg);
|
||
--dropdown-icon-background: transparent;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Overrides for colour presets */
|
||
/* Tweak some colours for presets, to improve contrast. Ideally I'd liek to do this for use-selected colours too, but the browser engine doesn't yet support contrast-color() */
|
||
body.css-settings-manager.theme-setting-baseColorPreset-maa {
|
||
--text-on-accent: black;
|
||
--nav-item-color-active: black;
|
||
--icon-color: black;
|
||
--icon-color-focused: black;
|
||
--theme-color-controlLightweightActive: black;
|
||
--theme-color-controlActive: black;
|
||
--theme-color-controlHover: black;
|
||
--theme-color-controlTextHover: black;
|
||
--vault-profile-color-hover: black;
|
||
--nav-item-color-hover: black;
|
||
--interactive-accent: var(--theme-color-baseDarkened25);
|
||
--icon-color-focused: black;
|
||
}
|
||
|
||
body.css-settings-manager.theme-dark.theme-setting-baseColorPreset-maa {
|
||
--icon-color: white;
|
||
}
|
||
|
||
body.css-settings-manager.theme-dark.theme-setting-baseColorPreset-mangu {
|
||
--text-on-accent: white;
|
||
--nav-item-color-active: white;
|
||
--icon-color: white;
|
||
--icon-color-focused: white;
|
||
--theme-color-controlLightweightActive: white;
|
||
--theme-color-controlActive: white;
|
||
--theme-color-controlHover: white;
|
||
--vault-profile-color-hover: white;
|
||
--nav-item-color-hover: white;
|
||
--interactive-accent: var(--theme-color-baseLightened25);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Colors */
|
||
/* #region Base color */
|
||
body {
|
||
/* Base all theme colours off these */
|
||
/* The base HSL variables will be overridden by Style Settings if installed, otherwise they'll use the accent colour. */
|
||
--base-h: var(--accent-h);
|
||
--base-s: var(--accent-s);
|
||
--base-l: var(--accent-l);
|
||
|
||
/* The base color, derived from either the accent or the Style Settings base color. Note that this may be overridden by one of the preset colours below. */
|
||
--theme-color-base: hsl(var(--base-h), var(--base-s), var(--base-l));
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Preset base colours, if users don't want to set an exact colour. */
|
||
body.css-settings-manager.theme-setting-baseColorPreset-accent {
|
||
--base-h: var(--accent-h);
|
||
--base-s: var(--accent-s);
|
||
--base-l: var(--accent-l);
|
||
}
|
||
|
||
body.css-settings-manager.theme-setting-baseColorPreset-whero {
|
||
--base-h: 0;
|
||
--base-s: 65%;
|
||
--base-l: 50%;
|
||
}
|
||
|
||
body.css-settings-manager.theme-setting-baseColorPreset-karaka {
|
||
--base-h: 30;
|
||
--base-s: 80%;
|
||
--base-l: 50%;
|
||
}
|
||
|
||
body.css-settings-manager.theme-setting-baseColorPreset-koowhai {
|
||
--base-h: 52;
|
||
--base-s: 70%;
|
||
--base-l: 45%;
|
||
}
|
||
|
||
body.css-settings-manager.theme-setting-baseColorPreset-kaakaariki {
|
||
--base-h: 90;
|
||
--base-s: 65%;
|
||
--base-l: 39%;
|
||
}
|
||
|
||
body.css-settings-manager.theme-setting-baseColorPreset-kaarikioorangi {
|
||
--base-h: 175;
|
||
--base-s: 57%;
|
||
--base-l: 40%;
|
||
}
|
||
|
||
body.css-settings-manager.theme-setting-baseColorPreset-kahurangi {
|
||
--base-h: 215;
|
||
--base-s: 67%;
|
||
--base-l: 45%;
|
||
}
|
||
|
||
body.css-settings-manager.theme-setting-baseColorPreset-waiporoporo {
|
||
--base-h: 275;
|
||
--base-s: 50%;
|
||
--base-l: 40%;
|
||
}
|
||
|
||
body.css-settings-manager.theme-setting-baseColorPreset-maawhero {
|
||
--base-h: 335;
|
||
--base-s: 60%;
|
||
--base-l: 60%;
|
||
}
|
||
|
||
body.css-settings-manager.theme-setting-baseColorPreset-mangu {
|
||
--base-h: 240;
|
||
--base-s: 5%;
|
||
--base-l: 20%;
|
||
}
|
||
|
||
body.css-settings-manager.theme-setting-baseColorPreset-maa {
|
||
--base-h: 50;
|
||
--base-s: 0%;
|
||
--base-l: 95%;
|
||
}
|
||
|
||
body.css-settings-manager.theme-setting-baseColorPreset-kiwikiwi {
|
||
--base-h: 40;
|
||
--base-s: 5%;
|
||
--base-l: 50%;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Base colour variants */
|
||
|
||
body {
|
||
--theme-color-baseLightened95: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * 0.95));
|
||
--theme-color-baseLightened85: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * 0.85));
|
||
--theme-color-baseLightened80: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * 0.8));
|
||
--theme-color-baseLightened70: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * 0.7));
|
||
--theme-color-baseLightened60: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * 0.6));
|
||
--theme-color-baseLightened40: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * 0.4));
|
||
--theme-color-baseLightened25: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * 0.25));
|
||
--theme-color-baseLightened12: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * 0.125));
|
||
|
||
--theme-color-baseDarkened12: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
black calc(100% * 0.125));
|
||
--theme-color-baseDarkened25: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
black calc(100% * 0.25));
|
||
--theme-color-baseDarkened40: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
black calc(100% * 0.4));
|
||
--theme-color-baseDarkened60: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
black calc(100% * 0.6));
|
||
--theme-color-baseDarkened70: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
black calc(100% * 0.7));
|
||
--theme-color-baseDarkened80: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
black calc(100% * 0.8));
|
||
--theme-color-baseDarkened85: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
black calc(100% * 0.85));
|
||
--theme-color-baseDarkened90: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
black calc(100% * 0.9));
|
||
|
||
/* Base color with transparency */
|
||
--theme-color-baseTransparent75: hsl(from var(--theme-color-base) h s l / 0.75);
|
||
--theme-color-baseTransparent50: hsl(from var(--theme-color-base) h s l / 0.5);
|
||
--theme-color-baseTransparent35: hsl(from var(--theme-color-base) h s l / 0.35);
|
||
--theme-color-baseTransparent25: hsl(from var(--theme-color-base) h s l / 0.25);
|
||
--theme-color-baseTransparent12: hsl(from var(--theme-color-base) h s l / 0.12);
|
||
--theme-color-baseTransparent06: hsl(from var(--theme-color-base) h s l / 0.06);
|
||
--theme-color-lightenTransparent75: hsl(from white h s l / 0.75);
|
||
--theme-color-lightenTransparent50: hsl(from white h s l / 0.5);
|
||
--theme-color-lightenTransparent25: hsl(from white h s l / 0.25);
|
||
--theme-color-lightenTransparent12: hsl(from white h s l / 0.12);
|
||
--theme-color-lightenTransparent06: hsl(from white h s l / 0.06);
|
||
--theme-color-darkenTransparent75: hsl(from black h s l / 0.75);
|
||
--theme-color-darkenTransparent50: hsl(from black h s l / 0.5);
|
||
--theme-color-darkenTransparent25: hsl(from black h s l / 0.25);
|
||
--theme-color-darkenTransparent12: hsl(from black h s l / 0.12);
|
||
--theme-color-darkenTransparent06: hsl(from black h s l / 0.06);
|
||
/* #endregion */
|
||
/* #region Gradients */
|
||
--theme-gradient-topToBottom: linear-gradient(0deg,
|
||
var(--theme-color-gradientTop) 0%,
|
||
var(--theme-color-gradientBottom) 100%);
|
||
--theme-gradient-bottomToTop: linear-gradient(0deg,
|
||
var(--theme-color-gradientBottom) 0%,
|
||
var(--theme-color-gradientTop) 100%);
|
||
--theme-gradient-cardSet: linear-gradient(0deg,
|
||
var(--theme-color-gradientCardSetBottom) 0%,
|
||
var(--theme-color-gradientCardSetTop) 100%);
|
||
--theme-gradient-cardSetGenerated: linear-gradient(0deg,
|
||
var(--theme-color-gradientCardSetGeneratedBottom) 0%,
|
||
var(--theme-color-gradientCardSetGeneratedTop) 100%);
|
||
--theme-gradient-DarkenedTopToBottom: linear-gradient(0deg,
|
||
var(--theme-color-gradientDarkenedTop) 0%,
|
||
var(--theme-color-gradientDarkenedBottom) 100%);
|
||
/* 0 for flat colour with no gradient. 1 for extreme gradient. Default to 0.2, */
|
||
--theme-value-gradientContrast: 0.2;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Hues derived from base color */
|
||
.theme-light,
|
||
.theme-dark {
|
||
--color-red: hsl(from var(--theme-color-base) 356 s l);
|
||
--color-orange: hsl(from var(--theme-color-base) 27 s l);
|
||
--color-yellow: hsl(from var(--theme-color-base) 57 s l);
|
||
--color-green: hsl(from var(--theme-color-base) 124 s l);
|
||
--color-cyan: hsl(from var(--theme-color-base) 179 s l);
|
||
--color-blue: hsl(from var(--theme-color-base) 219 s l);
|
||
--color-purple: hsl(from var(--theme-color-base) 253 s l);
|
||
--color-pink: hsl(from var(--theme-color-base) 331 s l);
|
||
|
||
--theme-color-redDarkened: hsl(from var(--color-red) h calc(s * 1.5) calc(l * 0.5));
|
||
--theme-color-redLightened: hsl(from var(--color-red) h calc(s * 1.5) calc(l * 1.5));
|
||
--theme-color-orangeDarkened: hsl(from var(--color-orange) h calc(s * 1.5) calc(l * 0.5));
|
||
--theme-color-orangeLightened: hsl(from var(--color-orange) h calc(s * 1.5) calc(l * 1.5));
|
||
--theme-color-yellowDarkened: hsl(from var(--color-yellow) h calc(s * 1.5) calc(l * 0.5));
|
||
--theme-color-yellowLightened: hsl(from var(--color-yellow) h calc(s * 1.5) calc(l * 1.5));
|
||
--theme-color-greenDarkened: hsl(from var(--color-green) h calc(s * 1.5) calc(l * 0.5));
|
||
--theme-color-greenLightened: hsl(from var(--color-green) h calc(s * 1.5) calc(l * 1.5));
|
||
--theme-color-cyanDarkened: hsl(from var(--color-cyan) h calc(s * 1.5) calc(l * 0.5));
|
||
--theme-color-cyanLightened: hsl(from var(--color-cyan) h calc(s * 1.5) calc(l * 1.5));
|
||
--theme-color-blueDarkened: hsl(from var(--color-blue) h calc(s * 1.5) calc(l * 0.5));
|
||
--theme-color-blueLightened: hsl(from var(--color-blue) h calc(s * 1.5) calc(l * 1.5));
|
||
--theme-color-purpleDarkened: hsl(from var(--color-purple) h calc(s * 1.5) calc(l * 0.5));
|
||
--theme-color-purpleLightened: hsl(from var(--color-purple) h calc(s * 1.5) calc(l * 1.5));
|
||
--theme-color-pinkDarkened: hsl(from var(--color-pink) h calc(s * 1.5) calc(l * 0.5));
|
||
--theme-color-pinkLightened: hsl(from var(--color-pink) h calc(s * 1.5) calc(l * 1.5));
|
||
|
||
--theme-color-redTransparent25: hsl(from var(--color-red) h s l / 0.25);
|
||
--theme-color-redTransparent75: hsl(from var(--color-red) h s l / 0.75);
|
||
--theme-color-orangeTransparent25: hsl(from var(--color-orange) h s l / 0.25);
|
||
--theme-color-orangeTransparent75: hsl(from var(--color-orange) h s l / 0.75);
|
||
--theme-color-yellowTransparent25: hsl(from var(--color-yellow) h s l / 0.25);
|
||
--theme-color-yellowTransparent75: hsl(from var(--color-yellow) h s l / 0.75);
|
||
--theme-color-greenTransparent25: hsl(from var(--color-green) h s l / 0.25);
|
||
--theme-color-greenTransparent75: hsl(from var(--color-green) h s l / 0.75);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Light mode */
|
||
.theme-light,
|
||
.theme-light .theme-dark {
|
||
/* Using `.theme-light .theme-dark` here because the Minimal Theme Settings plugin inserts `.theme-dark` into the DOM for the ribbon and left sidebar for `Light mode background contrast -> High contrast` even when the Minimal Theme isn't active. As lots of people will have Minimal Theme Settings enabled while using Kakano, I override it here. */
|
||
|
||
/* Built-in variables */
|
||
--background-modifier-active-hover-alt: var(--theme-color-baseLightened25);
|
||
--background-modifier-active-hover: var(--theme-color-baseLightened60);
|
||
--background-modifier-border-focus: var(--theme-color-base);
|
||
--background-modifier-border: var(--theme-color-baseLightened25);
|
||
--background-modifier-cover: var(--theme-color-darkenTransparent25);
|
||
--background-modifier-hover: var(--theme-color-base);
|
||
--blockquote-border-color: var(--theme-color-baseLightened80);
|
||
--caret-color: hsl(var(--accent-h), 150%, 50%);
|
||
--collapse-icon-color: var(--theme-color-base);
|
||
--collapse-icon-color-collapsed: var(--theme-color-base);
|
||
--empty-pane-color: var(--theme-color-baseDarkened70);
|
||
--icon-color-focused: white;
|
||
--icon-color-hover: hsl(var(--base-h),
|
||
calc(var(--base-s) * 0.2),
|
||
calc(var(--base-l) * 1.5));
|
||
--icon-color-hover: white;
|
||
--icon-color: var(--theme-color-base);
|
||
--modal-background: var(--theme-color-baseLightened80);
|
||
--nav-collapse-icon-color-collapsed: var(--theme-color-baseTransparent75);
|
||
--nav-collapse-icon-color: var(--theme-color-baseTransparent75);
|
||
--nav-indentation-guide-color: var(--theme-color-baseTransparent25);
|
||
--nav-item-background-active: var(--theme-color-base);
|
||
--nav-item-background-selected: var(--theme-color-baseTransparent25);
|
||
--nav-item-color-active: var(--theme-color-baseLightened80);
|
||
--nav-item-color: var(--theme-color-baseDarkened80);
|
||
--nav-item-color-hover: white;
|
||
--raised-background: var(--theme-color-baseLightened80);
|
||
--search-clear-button-color: var(--theme-color-base);
|
||
--search-icon-color: var(--theme-color-base);
|
||
--status-bar-text-color: black;
|
||
--tab-background-active: var(--background-primary);
|
||
--tab-background-inactive: var(--theme-color-baseLightened80);
|
||
--tab-text-color: var(--theme-color-baseTransparent50);
|
||
--tab-text-color-active: var(--theme-color-baseTransparent50);
|
||
--tab-text-color-focused: var(--theme-color-baseDarkened25);
|
||
--tab-text-color-focused-active: var(--theme-color-baseDarkened25);
|
||
|
||
--tag-color: hsl(var(--accent-h),
|
||
calc(var(--accent-s)),
|
||
calc(var(--accent-l) * 0.9));
|
||
--tag-background: hsl(var(--accent-h),
|
||
var(--accent-s),
|
||
var(--accent-l),
|
||
0.15);
|
||
--text-normal: var(--theme-color-baseDarkened90);
|
||
--text-faint: var(--theme-color-baseDarkened70);
|
||
--background-prompt: var(--theme-color-baseLightened95);
|
||
--interactive-accent: var(--theme-color-base);
|
||
--interactive-accent-hover: var(--theme-color-base);
|
||
--table-border-color: var(--theme-color-baseLightened60);
|
||
--table-header-border-color: var(--theme-color-baseLightened60);
|
||
|
||
--metadata-property-background: var(--theme-color-baseLightened95);
|
||
--metadata-property-background-hover: var(--theme-color-baseTransparent12);
|
||
--metadata-label-background-active: var(--theme-color-baseLightened95);
|
||
--metadata-input-background-active: var(--theme-color-baseLightened95);
|
||
|
||
/* Background for content area */
|
||
--background-primary: white;
|
||
/* Background for controls area */
|
||
--background-secondary: var(--theme-color-baseLightened60);
|
||
|
||
/* New variables for this theme */
|
||
--theme-color-activeLineHighlight: var(--theme-color-baseTransparent12);
|
||
--theme-color-audioRecordingActive: var(--theme-color-redDarkened);
|
||
--theme-color-blockId: var(--theme-color-baseLightened);
|
||
--theme-color-calendarDayBg: var(--theme-color-lightenTransparent75);
|
||
--theme-color-communityItemBg: var(--theme-color-baseLightened80);
|
||
--theme-color-communityItemBgActive: var(--theme-color-base);
|
||
--theme-color-communityItemBgHover: var(--theme-color-baseLightened60);
|
||
--theme-color-communityItemBgSelected: var(--theme-color-baseLightened12);
|
||
--theme-color-contentItemBg: var(--theme-color-lightenTransparent50);
|
||
--theme-color-contentItemBgActive: var(--theme-color-base);
|
||
--theme-color-contentItemBgHover: var(--theme-color-lightenTransparent25);
|
||
--theme-color-controlBg: var(--theme-color-baseLightened95);
|
||
--theme-color-controlLowWeightBg: var(--theme-color-lightenTransparent50);
|
||
--theme-color-controlContentArea: var(--theme-color-base);
|
||
--theme-color-controlContentAreaHover: var(--theme-color-baseLightened80);
|
||
--theme-color-controlUIHover: var(--theme-color-baseLightened60);
|
||
--theme-color-controlUISelected: var(--theme-color-baseLightened80);
|
||
--theme-color-controlSetBg: var(--theme-color-baseLightened80);
|
||
--theme-color-controlText: var(--theme-color-baseDarkened70);
|
||
--theme-color-controlTextHover: var(--theme-color-baseLightened80);
|
||
--theme-color-controlLightweightActive: var(--theme-color-baseLightened95);
|
||
--theme-color-emptyStateBg: var(--theme-color-baseLightened80);
|
||
--theme-color-graphLine: black;
|
||
/* Canvas doesn't support color-mix */
|
||
--theme-color-hotkey: var(--theme-color-base);
|
||
--theme-color-inputBorder: var(--theme-color-baseLightened25);
|
||
--theme-color-inputPlaceholder: var(--theme-color-base);
|
||
--theme-color-interactiveActive: var(--theme-color-baseLightened25);
|
||
--theme-color-kanbanLaneBg: var(--theme-color-baseLightened80);
|
||
--theme-color-log: var(--theme-color-baseDarkened80);
|
||
--theme-color-logBg: var(--theme-color-baseLightened25);
|
||
--theme-color-modalContentBg: var(--theme-color-baseLightened60);
|
||
--theme-color-menuBg: var(--theme-color-baseLightened80);
|
||
--theme-color-mobileToolbarBg: var(--theme-color-baseLightened80);
|
||
--theme-color-navFileTag: var(--theme-color-base);
|
||
--theme-color-navFileTagActive: var(--nav-item-color-active);
|
||
--theme-color-navFileTagActiveBorder: var(--nav-item-color-active);
|
||
--theme-color-navFileTagBorder: var(--theme-color-base);
|
||
--theme-color-notice: var(--theme-color-baseLightened95);
|
||
--theme-color-noticeBg: var(--theme-color-baseDarkened80);
|
||
--theme-color-promptInstructions: var(--theme-color-baseDarkened40);
|
||
--theme-color-settingsBg: var(--theme-color-baseLightened80);
|
||
--theme-color-settingsBgStripe: var(--theme-color-baseLightened95);
|
||
--theme-color-settingsGroupBg: var(--theme-color-lightenTransparent50);
|
||
--theme-color-suggestionBg: var(--theme-color-baseLightened85);
|
||
--theme-color-switcherBgActive: var(--theme-color-base);
|
||
--theme-color-tagHover: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.02),
|
||
calc(var(--accent-l) * 1.035));
|
||
--theme-color-tagBgHover: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.02),
|
||
calc(var(--accent-l) * 1.035),
|
||
0.1);
|
||
--theme-color-tagBgSidebar: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.2),
|
||
calc(var(--accent-l) * 1),
|
||
0.15);
|
||
--theme-color-tagBgSidebarHover: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.22),
|
||
calc(var(--accent-l) * 1.15),
|
||
0.15);
|
||
--theme-color-tagSidebar: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1),
|
||
calc(var(--accent-l) * 0.4));
|
||
--theme-color-tagSidebarHover: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.02),
|
||
calc(var(--accent-l) * 0.46));
|
||
--theme-color-textMeta: var(--theme-color-base);
|
||
--theme-color-textSelected: var(--theme-color-baseLightened80);
|
||
--theme-color-warningBg: var(--theme-color-baseLightened95);
|
||
--theme-color-gradientCardsetTop: var(--theme-color-baseTransparent12);
|
||
--theme-color-gradientCardsetBottom: var(--theme-color-baseTransparent06);
|
||
--theme-color-gradientCardsetGeneratedTop: var(--theme-color-baseTransparent35);
|
||
--theme-color-gradientCardsetGeneratedBottom: var(--theme-color-baseTransparent12);
|
||
--theme-color-shadow: var(--theme-color-baseDarkened25);
|
||
|
||
--theme-shadow-control: 0 1px 2px hsl(var(--base-h),
|
||
calc(var(--base-s) * 1.5),
|
||
calc(var(--base-l) * 0.25),
|
||
0.5);
|
||
--theme-shadow-input: 0 1px 2px hsl(var(--base-h),
|
||
calc(var(--base-s) * 1.5),
|
||
calc(var(--base-l) * 0.25),
|
||
0.2),
|
||
0 3.4px 6.7px hsl(var(--base-h),
|
||
calc(var(--base-s) * 1),
|
||
calc(var(--base-l) * 0.25),
|
||
0.15),
|
||
0 15px 30px hsl(var(--base-h),
|
||
calc(var(--base-s) * 0.75),
|
||
calc(var(--base-l) * 0.25),
|
||
0.05);
|
||
|
||
/*
|
||
Gradient from contrast setting
|
||
|
||
At 0 contrast, this sets both ends of the gradient to base color plus 50% white
|
||
At 0.2 (default), it matches --theme-color-baseLightened60 and --theme-color-baseLightened40
|
||
At 1, the top is white, bottom is base color
|
||
*/
|
||
--theme-color-gradientTop: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * (0.5 + 0.5 * var(--theme-value-gradientContrast))));
|
||
--theme-color-gradientBottom: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * (0.5 - 0.5 * var(--theme-value-gradientContrast))));
|
||
--theme-color-gradientDarkenedTop: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * (0.5 - 0.25 * var(--theme-value-gradientContrast))));
|
||
--theme-color-gradientDarkenedBottom: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * (0.5 - 1.25 * var(--theme-value-gradientContrast))));
|
||
}
|
||
|
||
body.theme-light.theme-setting-customGradient {
|
||
--theme-color-gradientTop: color-mix(in srgb,
|
||
var(--theme-color-customGradientBaseTop),
|
||
white calc(100% * (0.5 + 0.5 * var(--theme-value-gradientContrast))));
|
||
--theme-color-gradientBottom: color-mix(in srgb,
|
||
var(--theme-color-customGradientBaseBottom),
|
||
white calc(100% * (0.5 - 0.5 * var(--theme-value-gradientContrast))));
|
||
}
|
||
|
||
.theme-light,
|
||
.theme-light .metadata-property:not([data-property-key="tags"]) {
|
||
--pill-background: var(--theme-color-baseTransparent75);
|
||
--pill-background-hover: var(--theme-color-base);
|
||
--pill-color: white;
|
||
--pill-color-hover: white;
|
||
--pill-color-remove: var(--theme-color-baseLightened80);
|
||
--pill-color-remove-hover: var(--theme-color-baseLightened80);
|
||
--pill-background-remove-hover: var(--theme-color-baseLightened25);
|
||
}
|
||
|
||
.theme-light.theme-setting-lightModeNoteBgNearWhite {
|
||
--background-primary: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
white calc(100% * 0.97));
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Dark mode */
|
||
.theme-dark,
|
||
.theme-dark .theme-light {
|
||
/* Built-in variables */
|
||
--background-modifier-active-hover-alt: var(--theme-color-baseDarkened25);
|
||
--background-modifier-active-hover: var(--theme-color-baseDarkened70);
|
||
--background-modifier-border-focus: var(--theme-color-baseDarkened25);
|
||
--background-modifier-border: var(--theme-color-baseDarkened25);
|
||
--background-modifier-cover: var(--theme-color-darkenTransparent50);
|
||
--background-modifier-hover: var(--theme-color-base);
|
||
--blockquote-border-color: var(--theme-color-baseDarkened80);
|
||
--caret-color: hsl(var(--accent-h), 150%, 80%);
|
||
--collapse-icon-color: var(--theme-color-base);
|
||
--collapse-icon-color-collapsed: var(--theme-color-base);
|
||
--empty-pane-color: var(--theme-color-baseDarkened70);
|
||
--icon-color-focused: var(--theme-color-baseLightened80);
|
||
--icon-color-hover: hsl(var(--base-h),
|
||
calc(var(--base-s) * 0.2),
|
||
calc(var(--base-l) * 1.5));
|
||
--icon-color-hover: var(--theme-color-baseLightened80);
|
||
--icon-color: var(--theme-color-base);
|
||
--modal-background: var(--theme-color-baseDarkened80);
|
||
--nav-collapse-icon-color-collapsed: var(--theme-color-baseTransparent75);
|
||
--nav-collapse-icon-color: var(--theme-color-baseTransparent75);
|
||
--nav-indentation-guide-color: var(--theme-color-baseTransparent25);
|
||
--nav-item-background-active: var(--theme-color-base);
|
||
--nav-item-background-selected: var(--theme-color-baseTransparent25);
|
||
--nav-item-color-active: var(--theme-color-baseDarkened80);
|
||
--nav-item-color: var(--theme-color-baseLightened60);
|
||
--nav-item-color-hover: black;
|
||
--raised-background: var(--theme-color-baseDarkened80);
|
||
--search-clear-button-color: var(--theme-color-base);
|
||
--search-icon-color: var(--theme-color-base);
|
||
--tag-color: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.1),
|
||
calc(var(--accent-l) * 1.2));
|
||
--tag-background: hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.3);
|
||
--tab-background-active: var(--background-primary);
|
||
--tab-background-inactive: var(--theme-color-baseDarkened85);
|
||
--tab-text-color: var(--theme-color-baseTransparent50);
|
||
--tab-text-color-active: var(--theme-color-baseTransparent50);
|
||
--tab-text-color-focused: var(--theme-color-baseLightened25);
|
||
--tab-text-color-focused-active: var(--theme-color-baseLightened25);
|
||
--text-normal: var(--theme-color-baseLightened60);
|
||
--text-faint: var(--theme-color-baseLightened25);
|
||
--background-prompt: var(--theme-color-baseDarkened80);
|
||
--interactive-accent: var(--theme-color-base);
|
||
--table-border-color: var(--theme-color-baseDarkened70);
|
||
--table-header-border-color: var(--theme-color-baseDarkened70);
|
||
|
||
--metadata-property-background: var(--theme-color-baseDarkened80);
|
||
--metadata-property-background-hover: var(--theme-color-baseTransparent12);
|
||
--metadata-label-background-active: var(--theme-color-baseDarkened90);
|
||
--metadata-input-background-active: var(--theme-color-baseDarkened90);
|
||
|
||
/* Background for content area */
|
||
/* This may be overridden below by the theme-value-darkModeNoteBg style setting. */
|
||
--background-primary: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
black calc(100% * 0.95));
|
||
/* Background for controls area */
|
||
--background-secondary: var(--theme-color-baseDarkened70);
|
||
|
||
/* New variables for this theme */
|
||
--theme-color-activeLineHighlight: var(--theme-color-baseTransparent12);
|
||
--theme-color-audioRecordingActive: var(--theme-color-redLightened);
|
||
--theme-color-blockId: var(--theme-color-baseDarkened25);
|
||
--theme-color-calendarDayBg: var(--theme-color-darkenTransparent50);
|
||
--theme-color-communityItemBg: var(--theme-color-baseDarkened80);
|
||
--theme-color-communityItemBgActive: var(--theme-color-base);
|
||
--theme-color-communityItemBgHover: var(--theme-color-baseDarkened70);
|
||
--theme-color-communityItemBgSelected: var(--theme-color-baseDarkened12);
|
||
--theme-color-contentItemBg: rgb(0, 0, 0, 0.2);
|
||
--theme-color-contentItemBgActive: var(--theme-color-base);
|
||
--theme-color-contentItemBgHover: rgb(0, 0, 0, 0.1);
|
||
--theme-color-controlBg: var(--theme-color-baseDarkened25);
|
||
--theme-color-controlLowWeightBg: var(--theme-color-darkenTransparent25);
|
||
--theme-color-controlContentArea: var(--theme-color-baseLightened60);
|
||
--theme-color-controlContentAreaHover: var(--theme-color-baseDarkened80);
|
||
--theme-color-controlUIHover: var(--theme-color-baseDarkened70);
|
||
--theme-color-controlUISelected: var(--theme-color-baseDarkened70);
|
||
--theme-color-controlSetBg: var(--theme-color-baseDarkened80);
|
||
--theme-color-controlText: var(--theme-color-baseLightened60);
|
||
--theme-color-controlTextHover: var(--theme-color-baseDarkened80);
|
||
--theme-color-controlLightweightActive: var(--theme-color-baseLightened95);
|
||
--theme-color-emptyStateBg: var(--theme-color-baseDarkened80);
|
||
--theme-color-graphLine: white;
|
||
/* Canvas doesn't support color-mix */
|
||
--theme-color-hotkey: var(--theme-color-base);
|
||
--theme-color-inputBorder: var(--theme-color-baseLightened25);
|
||
--theme-color-inputPlaceholder: var(--theme-color-base);
|
||
--theme-color-interactiveActive: var(--theme-color-baseDarkened25);
|
||
--theme-color-kanbanLaneBg: var(--theme-color-baseDarkened80);
|
||
--theme-color-log: var(--theme-color-baseLightened80);
|
||
--theme-color-logBg: var(--theme-color-baseDarkened25);
|
||
--theme-color-menuBg: var(--theme-color-baseDarkened80);
|
||
--theme-color-mobileToolbarBg: var(--theme-color-baseDarkened80);
|
||
--theme-color-modalContentBg: var(--theme-color-baseDarkened70);
|
||
--theme-color-navFileTag: var(--theme-color-baseDarkened25);
|
||
--theme-color-navFileTagActive: var(--nav-item-color-active);
|
||
--theme-color-navFileTagActiveBorder: var(--nav-item-color-active);
|
||
--theme-color-navFileTagBorder: var(--theme-color-baseDarkened25);
|
||
--theme-color-notice: var(--theme-color-baseDarkened90);
|
||
--theme-color-noticeBg: var(--theme-color-baseLightened95);
|
||
--theme-color-promptInstructions: var(--theme-color-baseLightened40);
|
||
--theme-color-settingsBg: var(--theme-color-baseDarkened80);
|
||
--theme-color-settingsBgStripe: var(--theme-color-baseDarkened90);
|
||
--theme-color-settingsGroupBg: var(--theme-color-darkenTransparent50);
|
||
--theme-color-suggestionBg: var(--theme-color-baseDarkened85);
|
||
--theme-color-switcherBgActive: var(--theme-color-base);
|
||
--theme-color-tagHover: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.05),
|
||
calc(var(--accent-l) * 1.29));
|
||
--theme-color-tagBgHover: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.2),
|
||
calc(var(--accent-l) * 0.8),
|
||
0.75);
|
||
--theme-color-tagBgSidebar: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.2),
|
||
calc(var(--accent-l) * 0.25),
|
||
0.5);
|
||
--theme-color-tagBgSidebarHover: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.1),
|
||
calc(var(--accent-l) * 0.8),
|
||
0.5);
|
||
--theme-color-tagSidebar: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.1),
|
||
calc(var(--accent-l) * 1.2));
|
||
--theme-color-tagSidebarHover: hsl(var(--accent-h),
|
||
calc(var(--accent-s) * 1.4),
|
||
calc(var(--accent-l) * 1.3));
|
||
|
||
--theme-color-textMeta: var(--theme-color-base);
|
||
--theme-color-textSelected: var(--theme-color-baseDarkened80);
|
||
--theme-color-warningBg: var(--theme-color-baseLightened95);
|
||
--theme-color-gradientCardsetTop: var(--theme-color-baseTransparent06);
|
||
--theme-color-gradientCardsetBottom: var(--theme-color-baseTransparent12);
|
||
--theme-color-gradientCardsetGeneratedTop: var(--theme-color-baseTransparent12);
|
||
--theme-color-gradientCardsetGeneratedBottom: var(--theme-color-baseTransparent25);
|
||
--theme-color-shadow: var(--theme-color-baseDarkened90);
|
||
|
||
--theme-shadow-control: 0px 1px 2px hsl(var(--base-h),
|
||
calc(var(--base-s) * 0.1),
|
||
calc(var(--base-l) * 0.1),
|
||
0.1);
|
||
--theme-shadow-input: 0px 1px 2px hsl(var(--base-h),
|
||
calc(var(--base-s) * 0.5),
|
||
calc(var(--base-l) * 0.1),
|
||
0.5),
|
||
0px 3.4px 6.7px hsl(var(--base-h),
|
||
calc(var(--base-s) * 1),
|
||
calc(var(--base-l) * 0.1),
|
||
0.25),
|
||
0px 15px 30px hsl(var(--base-h),
|
||
calc(var(--base-s) * 0.75),
|
||
calc(var(--base-l) * 0.1),
|
||
0.15);
|
||
/*
|
||
Gradient from contrast setting
|
||
|
||
At 0 contrast, this sets both ends of the gradient to base color plus 70% black
|
||
At 0.2 (default), it matches --theme-color-baseDarkened70 and --theme-color-baseDarkened80
|
||
At 1, the top is base color, bottom pure black
|
||
*/
|
||
--theme-color-gradientTop: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
black calc(100% * (0.7 - 0.5 * var(--theme-value-gradientContrast))));
|
||
--theme-color-gradientBottom: color-mix(in srgb,
|
||
var(--theme-color-base),
|
||
black calc(100% * (0.7 + 0.5 * var(--theme-value-gradientContrast))));
|
||
}
|
||
|
||
body.theme-dark.theme-setting-customGradient {
|
||
--theme-color-gradientTop: color-mix(in srgb,
|
||
var(--theme-color-customGradientBaseTop),
|
||
black calc(100% * (0.7 - 0.5 * var(--theme-value-gradientContrast))));
|
||
--theme-color-gradientBottom: color-mix(in srgb,
|
||
var(--theme-color-customGradientBaseBottom),
|
||
black calc(100% * (0.7 + 0.5 * var(--theme-value-gradientContrast))));
|
||
}
|
||
|
||
.theme-dark,
|
||
.theme-dark .metadata-property:not([data-property-key="tags"]) {
|
||
--pill-background: var(--theme-color-baseTransparent75);
|
||
--pill-background-hover: var(--theme-color-base);
|
||
--pill-color: black;
|
||
--pill-color-hover: black;
|
||
--pill-color-remove: var(--theme-color-baseDarkened80);
|
||
--pill-color-remove-hover: var(--theme-color-baseDarkened80);
|
||
--pill-background-remove-hover: var(--theme-color-baseDarkened25);
|
||
}
|
||
|
||
.theme-dark.theme-value-darkModeNoteBgFullBlack {
|
||
/* Override note background when specified by style settings. */
|
||
/* There's no equivalent of this for light mode. */
|
||
--background-primary: black;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Light/dark modes */
|
||
body {
|
||
--bases-cards-cover-background: light-dark(var(--theme-color-darkenTransparent06), var(--theme-color-lightenTransparent06));
|
||
--icon-color-active: light-dark(white, black);
|
||
|
||
--theme-color-calendarBg: light-dark(var(--theme-color-baseLightened85), var(--theme-color-baseDarkened80));
|
||
|
||
--theme-color-control: light-dark(var(--theme-color-baseDarkened70),
|
||
var(--theme-color-baseLightened60));
|
||
--theme-color-controlActive: light-dark(var(--theme-color-baseLightened95), var(--theme-color-baseDarkened90));
|
||
--theme-color-controlHover: light-dark(var(--theme-color-baseLightened95), var(--theme-color-baseDarkened90));
|
||
--theme-color-controlBgActive: var(--theme-color-base);
|
||
--theme-color-controlBgHover: light-dark(var(--theme-color-baseLightened40), var(--theme-color-baseDarkened40));
|
||
|
||
--theme-color-controlHasActiveMenu: light-dark(var(--theme-color-baseLightened80), var(--theme-color-baseDarkened80));
|
||
|
||
--theme-color-jiraIssueInfoBg: light-dark(var(--theme-color-blueLightened),
|
||
var(--theme-color-blueDarkened));
|
||
--theme-color-jiraIssueWarningBg: light-dark(control var(--theme-color-yellowLightened),
|
||
var(--theme-color-yellowDarkened));
|
||
--theme-color-jiraIssueSuccessBg: light-dark(var(--theme-color-greenLightened),
|
||
var(--theme-color-greenDarkened));
|
||
--theme-color-jiraIssueStatusBg: light-dark(var(--theme-color-baseDarkened90),
|
||
var(--theme-color-baseDarkened90));
|
||
--theme-color-jiraIssueDeleteBg: var(--color-red);
|
||
--theme-color-jiraIssueStatus: var(--theme-color-baseLightened95);
|
||
--theme-color-jiraIssueDangerBg: var(--theme-color-redTransparent25);
|
||
--theme-color-jiraIssueDanger: white;
|
||
--theme-color-jiraIssueTableStripe: light-dark(var(--theme-color-lightenTransparent50),
|
||
var(--theme-color-darkenTransparent50));
|
||
--theme-color-lineNumbers: light-dark(var(--theme-color-baseLightened60), var(--theme-color-baseDarkened60));
|
||
--theme-color-navigationButtonBgHover: var(--theme-color-base);
|
||
--theme-color-queryComponentBg: var(--theme-color-baseTransparent12);
|
||
--theme-color-tabNavBg: light-dark(var(--theme-color-baseLightened60), var(--theme-color-baseDarkened60));
|
||
--theme-color-tabNavActiveBg: light-dark(var(--theme-color-baseLightened70), var(--theme-color-baseDarkened70));
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Shadows */
|
||
body.theme-light,
|
||
.theme-light .theme-dark,
|
||
body.theme-dark,
|
||
.theme-dark .theme-light {
|
||
--input-shadow: var(--theme-shadow-control);
|
||
--shadow-l: 0 0 0.2rem color-mix(in srgb, var(--theme-color-shadow) 2%, transparent),
|
||
0 0.2rem 0.4rem color-mix(in srgb, var(--theme-color-shadow) 4%, transparent),
|
||
0 0.4rem 1.2rem color-mix(in srgb, var(--theme-color-shadow) 6%, transparent),
|
||
0 1.2rem 2rem color-mix(in srgb, var(--theme-color-shadow) 8%, transparent),
|
||
0 2rem 4rem color-mix(in srgb, var(--theme-color-shadow) 10%, transparent);
|
||
--shadow-s: 0 0 0.05rem color-mix(in srgb, var(--theme-color-shadow) 2%, transparent),
|
||
0 0.05rem 0.1rem color-mix(in srgb, var(--theme-color-shadow) 4%, transparent),
|
||
0 0.1rem 0.3rem color-mix(in srgb, var(--theme-color-shadow) 6%, transparent),
|
||
0 0.3rem 0.5rem color-mix(in srgb, var(--theme-color-shadow) 8%, transparent),
|
||
0 0.5rem 1rem color-mix(in srgb, var(--theme-color-shadow) 10%, transparent);
|
||
--theme-shadow-indent: 0 0 0.2rem color-mix(in srgb, var(--theme-color-shadow) 3%, transparent),
|
||
0 0 0.2rem color-mix(in srgb, var(--theme-color-shadow) 6%, transparent),
|
||
0 0 0.4rem color-mix(in srgb, var(--theme-color-shadow) 9%, transparent),
|
||
0 0 1.2rem color-mix(in srgb, var(--theme-color-shadow) 12%, transparent),
|
||
0 0 2rem color-mix(in srgb, var(--theme-color-shadow) 15%, transparent);
|
||
--theme-shadow-indent-small: 0 0 0.05rem color-mix(in srgb, var(--theme-color-shadow) 4%, transparent),
|
||
0 0 0.2rem color-mix(in srgb, var(--theme-color-shadow) 8%, transparent),
|
||
0 0 0.6rem color-mix(in srgb, var(--theme-color-shadow) 12%, transparent),
|
||
0 0 1rem color-mix(in srgb, var(--theme-color-shadow) 16%, transparent),
|
||
0 0 2rem color-mix(in srgb, var(--theme-color-shadow) 20%, transparent);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
/* #endregion */
|
||
/* #region Keyframe animations */
|
||
@keyframes fadein {
|
||
from {
|
||
opacity: 0;
|
||
}
|
||
|
||
to {
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Typography for user's content - src/typography_content.css */
|
||
/* #region Fonts */
|
||
body {
|
||
/* Use the system font by default for both text and interface, unless user has chosen something else. */
|
||
--font-default: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
|
||
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||
--font-monospace-default: ui-monospace, Menlo, SFMono-Regular, Consolas,
|
||
"Roboto Mono", "Source Code Pro", monospace;
|
||
--font-text-theme: var(--font-default);
|
||
/* TODO: move interface font elsewhere, and scope this indpendently i.e. not just on body */
|
||
--font-interface-theme: var(--font-default);
|
||
--font-monospace-theme: var(--font-monospace-default);
|
||
}
|
||
|
||
/* Source mode uses monospace font */
|
||
.markdown-source-view:not(.is-live-preview) .cm-scroller {
|
||
font-family: var(--font-monospace);
|
||
}
|
||
|
||
/* Apply a different font for headings if set in Style Settings */
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header,
|
||
.markdown-source-view.is-live-preview .HyperMD-list-line .cm-header,
|
||
.markdown-rendered h1,
|
||
.markdown-rendered h2,
|
||
.markdown-rendered h3,
|
||
.markdown-rendered h4,
|
||
.markdown-rendered h5,
|
||
.markdown-rendered h6 {
|
||
font-family: var(--theme-setting-headingFont), var(--font-text-theme);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Body text */
|
||
body {
|
||
--line-height-normal: 1.6;
|
||
--link-decoration-thickness: 1px;
|
||
--link-unresolved-decoration-style: dashed;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Headings */
|
||
body {
|
||
/* Headings are scaled according to a scale factor, which can be change with Style Settings */
|
||
--theme-value-headingScaleFactor: 1.2;
|
||
/* Default value if Style Setting snot used */
|
||
--h1-size: calc(var(--theme-value-headingScaleFactor) * var(--h2-size));
|
||
--h2-size: calc(var(--theme-value-headingScaleFactor) * var(--h3-size));
|
||
--h3-size: calc(var(--theme-value-headingScaleFactor) * var(--h4-size));
|
||
--h4-size: calc(var(--theme-value-headingScaleFactor) * var(--h5-size));
|
||
--h5-size: calc(var(--theme-value-headingScaleFactor) * var(--h6-size));
|
||
--h6-size: var(--font-text-size);
|
||
|
||
/* Heading weights increase inversely with size, to maintain distinction from body text */
|
||
--h1-weight: 100;
|
||
--h2-weight: 200;
|
||
--h3-weight: 300;
|
||
--h4-weight: 400;
|
||
--h5-weight: 500;
|
||
--h6-weight: 500;
|
||
|
||
--h1-line-height: var(--line-height-normal);
|
||
--h2-line-height: var(--line-height-normal);
|
||
--h3-line-height: var(--line-height-normal);
|
||
--h4-line-height: var(--line-height-normal);
|
||
--h5-line-height: var(--line-height-normal);
|
||
--h6-line-height: var(--line-height-normal);
|
||
}
|
||
|
||
body.theme-setting-headingScaleFactor1point067 {
|
||
--theme-value-headingScaleFactor: 1.067;
|
||
}
|
||
|
||
body.theme-setting-headingScaleFactor1point125 {
|
||
--theme-value-headingScaleFactor: 1.125;
|
||
}
|
||
|
||
body.theme-setting-headingScaleFactor1point2 {
|
||
--theme-value-headingScaleFactor: 1.2;
|
||
}
|
||
|
||
body.theme-setting-headingScaleFactor1point25 {
|
||
--theme-value-headingScaleFactor: 1.25;
|
||
}
|
||
|
||
body.theme-setting-headingScaleFactor1point333 {
|
||
--theme-value-headingScaleFactor: 1.333;
|
||
}
|
||
|
||
body.theme-setting-headingScaleFactor1point414 {
|
||
--theme-value-headingScaleFactor: 1.414;
|
||
}
|
||
|
||
body.theme-setting-headingScaleFactor1point5 {
|
||
--theme-value-headingScaleFactor: 1.5;
|
||
}
|
||
|
||
body.theme-setting-headingScaleFactor1point618 {
|
||
--theme-value-headingScaleFactor: 1.618;
|
||
}
|
||
|
||
/* Space before headings... */
|
||
.markdown-source-view .cm-line.HyperMD-header,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header,
|
||
.markdown-rendered h1,
|
||
.markdown-rendered h2,
|
||
.markdown-rendered h3,
|
||
.markdown-rendered h4,
|
||
.markdown-rendered h5,
|
||
.markdown-rendered h6 {
|
||
padding: var(--heading-spacing) 0 0 0;
|
||
margin: 0;
|
||
}
|
||
|
||
/* ...except when they immediately follow another heading */
|
||
.markdown-source-view :is(.cm-line.HyperMD-header-1,
|
||
.cm-line.HyperMD-header-2,
|
||
.cm-line.HyperMD-header-3,
|
||
.cm-line.HyperMD-header-4,
|
||
.cm-line.HyperMD-header-5,
|
||
.cm-line.HyperMD-header-6)+ :is(.cm-line.HyperMD-header-1,
|
||
.cm-line.HyperMD-header-2,
|
||
.cm-line.HyperMD-header-3,
|
||
.cm-line.HyperMD-header-4,
|
||
.cm-line.HyperMD-header-5,
|
||
.cm-line.HyperMD-header-6) {
|
||
/* Using padding as margin has an !important applied elsewhere */
|
||
padding-top: 0;
|
||
}
|
||
|
||
.markdown-rendered :is(.markdown-preview-section > div:has(h1),
|
||
.markdown-preview-section > div:has(h2),
|
||
.markdown-preview-section > div:has(h3),
|
||
.markdown-preview-section > div:has(h4),
|
||
.markdown-preview-section > div:has(h5),
|
||
.markdown-preview-section > div:has(h6))+ :is(.markdown-preview-section > div:has(h1),
|
||
.markdown-preview-section > div:has(h2),
|
||
.markdown-preview-section > div:has(h3),
|
||
.markdown-preview-section > div:has(h4),
|
||
.markdown-preview-section > div:has(h5),
|
||
.markdown-preview-section > div:has(h6)) :is(h1, h2, h3, h4, h5, h6) {
|
||
padding-top: 0;
|
||
}
|
||
|
||
/* ...or they're first on the page */
|
||
.markdown-source-view .cm-line.HyperMD-header:first-child,
|
||
.markdown-rendered .mod-header+div>h1 {
|
||
padding-top: 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Headings - phone */
|
||
/* More compact typography to fit more on small screens */
|
||
.is-phone {
|
||
--theme-value-headingScaleFactorPhone: 1.2;
|
||
--h1-size: calc(var(--theme-value-headingScaleFactorPhone) * var(--h2-size));
|
||
--h2-size: calc(var(--theme-value-headingScaleFactorPhone) * var(--h3-size));
|
||
--h3-size: calc(var(--theme-value-headingScaleFactorPhone) * var(--h4-size));
|
||
--h4-size: calc(var(--theme-value-headingScaleFactorPhone) * var(--h5-size));
|
||
--h5-size: calc(var(--theme-value-headingScaleFactorPhone) * var(--h6-size));
|
||
--line-height-normal: 1.5;
|
||
}
|
||
|
||
body.is-phone.theme-setting-headingScaleFactorPhone1point067 {
|
||
--theme-value-headingScaleFactorPhone: 1.067;
|
||
}
|
||
|
||
body.is-phone.theme-setting-headingScaleFactorPhone1point125 {
|
||
--theme-value-headingScaleFactorPhone: 1.125;
|
||
}
|
||
|
||
body.is-phone.theme-setting-headingScaleFactorPhone1point2 {
|
||
--theme-value-headingScaleFactorPhone: 1.2;
|
||
}
|
||
|
||
body.is-phone.theme-setting-headingScaleFactorPhone1point25 {
|
||
--theme-value-headingScaleFactorPhone: 1.25;
|
||
}
|
||
|
||
body.is-phone.theme-setting-headingScaleFactorPhone1point333 {
|
||
--theme-value-headingScaleFactorPhone: 1.333;
|
||
}
|
||
|
||
body.is-phone.theme-setting-headingScaleFactorPhone1point414 {
|
||
--theme-value-headingScaleFactorPhone: 1.414;
|
||
}
|
||
|
||
body.is-phone.theme-setting-headingScaleFactorPhone1point5 {
|
||
--theme-value-headingScaleFactorPhone: 1.5;
|
||
}
|
||
|
||
body.is-phone.theme-setting-headingScaleFactorPhone1point618 {
|
||
--theme-value-headingScaleFactorPhone: 1.618;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Headings - sidedock */
|
||
/* Smaller font size for markdown documents in sidebar */
|
||
.mod-sidedock {
|
||
--h1-size: calc(var(--theme-value-headingScaleFactor) * var(--h2-size));
|
||
--h2-size: calc(var(--theme-value-headingScaleFactor) * var(--h3-size));
|
||
--h3-size: calc(var(--theme-value-headingScaleFactor) * var(--h4-size));
|
||
--h4-size: calc(var(--theme-value-headingScaleFactor) * var(--h5-size));
|
||
--h5-size: calc(var(--theme-value-headingScaleFactor) * var(--h6-size));
|
||
--h6-size: calc(var(--theme-value-sidebarFontScalingFactor) * var(--font-text-size));
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Inline title */
|
||
body {
|
||
/* Inline title isn't huge, but has greater weight than headings */
|
||
--inline-title-size: var(--h3-size);
|
||
--inline-title-weight: var(--h4-weight);
|
||
--inline-title-line-height: var(--line-height-normal);
|
||
--inline-title-style: normal;
|
||
--inline-title-variant: normal;
|
||
--inline-title-font: inherit;
|
||
--inline-title-color: inherit;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Links */
|
||
.markdown-source-view.is-live-preview .is-unresolved .cm-link,
|
||
.markdown-reading-view h1 a {
|
||
--text-decoration-color: var(--link-color);
|
||
--text-decoration-style: dashed;
|
||
}
|
||
|
||
.markdown-source-view .cm-link .cm-underline,
|
||
.markdown-source-view .cm-hmd-internal-link .cm-underline,
|
||
.markdown-reading-view h1 a,
|
||
.markdown-reading-view h2 a,
|
||
.markdown-reading-view h3 a,
|
||
.markdown-reading-view h4 a,
|
||
.markdown-reading-view h5 a,
|
||
.markdown-reading-view h6 a {
|
||
text-underline-offset: 0.125em;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.markdown-source-view.is-live-preview span.cm-link:hover,
|
||
.markdown-source-view.is-live-preview span.cm-hmd-internal-link:hover:has(.cm-underline) {
|
||
/* Don't add double underline */
|
||
text-decoration: none;
|
||
}
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-1 .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-1 .cm-hmd-internal-link,
|
||
.markdown-reading-view h1 a {
|
||
--link-decoration-thickness: max(calc(var(--h1-weight) / 400 * 1px), 1px);
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-2 .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-2 .cm-hmd-internal-link,
|
||
.markdown-reading-view h2 a {
|
||
--link-decoration-thickness: max(calc(var(--h2-weight) / 400 * 1px), 1px);
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-3 .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-3 .cm-hmd-internal-link,
|
||
.markdown-reading-view h3 a {
|
||
--link-decoration-thickness: max(calc(var(--h3-weight) / 400 * 1px), 1px);
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-4 .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-4 .cm-hmd-internal-link,
|
||
.markdown-reading-view h4 a {
|
||
--link-decoration-thickness: max(calc(var(--h4-weight) / 400 * 1px), 1px);
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-5 .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-5 .cm-hmd-internal-link,
|
||
.markdown-reading-view h5 a {
|
||
--link-decoration-thickness: max(calc(var(--h5-weight) / 400 * 1px), 1px);
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-6 .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-6 .cm-hmd-internal-link,
|
||
.markdown-reading-view h6 a {
|
||
--link-decoration-thickness: max(calc(var(--h6-weight) / 400 * 1px), 1px);
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-1 .is-unresolved .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-1 .cm-hmd-internal-link .is-unresolved,
|
||
.markdown-reading-view h1 a.is-unresolved {
|
||
--link-decoration-thickness: max(calc(var(--h1-weight) / 200 * 2px), 1px);
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-2 .is-unresolved .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-2 .cm-hmd-internal-link .is-unresolved,
|
||
.markdown-reading-view h2 a.is-unresolved {
|
||
--link-decoration-thickness: max(calc(var(--h2-weight) / 400 * 2px), 1px);
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-3 .is-unresolved .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-3 .cm-hmd-internal-link .is-unresolved,
|
||
.markdown-reading-view h3 a.is-unresolved {
|
||
--link-decoration-thickness: max(calc(var(--h3-weight) / 400 * 2px), 1px);
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-4 .is-unresolved .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-4 .cm-hmd-internal-link .is-unresolved,
|
||
.markdown-reading-view h4 a.is-unresolved {
|
||
--link-decoration-thickness: max(calc(var(--h4-weight) / 400 * 2px), 1px);
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-5 .is-unresolved .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-5 .cm-hmd-internal-link .is-unresolved,
|
||
.markdown-reading-view h5 a.is-unresolved {
|
||
--link-decoration-thickness: max(calc(var(--h5-weight) / 400 * 2px), 1px);
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-6 .is-unresolved .cm-link,
|
||
.markdown-source-view.is-live-preview .cm-line.HyperMD-header-6 .cm-hmd-internal-link .is-unresolved,
|
||
.markdown-reading-view h6 a.is-unresolved {
|
||
--link-decoration-thickness: max(calc(var(--h6-weight) / 400 * 2px), 1px);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Tables */
|
||
|
||
.markdown-rendered th,
|
||
.markdown-rendered table:not(.calendar) thead tr>th:nth-child(2n + 2) {
|
||
background: var(--theme-color-tableHeaderBg);
|
||
}
|
||
|
||
.cm-html-embed td,
|
||
.markdown-rendered td,
|
||
.cm-html-embed th,
|
||
.markdown-rendered th {
|
||
padding: 0.375em 0.75em;
|
||
}
|
||
|
||
.is-mobile .cm-table-widget .markdown-rendered table:not(.calendar) thead tr>th:last-child {
|
||
/* Make room for the edit button to not overlap. */
|
||
padding-inline-end: 2em;
|
||
}
|
||
|
||
.is-mobile .markdown-source-view .cm-table-widget .edit-block-button {
|
||
top: 0;
|
||
right: 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Blocks and Callouts */
|
||
.callout {
|
||
/* Embeds and dataviews would normally have a background colour, but we skip it inside a callout because it can look messy. */
|
||
--embed-background: transparent;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 0.75em;
|
||
}
|
||
|
||
.callout .callout-title {
|
||
margin-inline-start: -0.5em;
|
||
}
|
||
|
||
.callout.is-collapsible .callout-title {
|
||
cursor: pointer;
|
||
}
|
||
|
||
.callout .callout-content {
|
||
margin-top: 0;
|
||
padding-top: 0;
|
||
|
||
& p:first-child {
|
||
margin-top: 0;
|
||
}
|
||
|
||
& p:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.callout.is-collapsible .callout-title:hover {
|
||
text-decoration: underline;
|
||
}
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6 .edit-block-button,
|
||
.markdown-source-view .code-block-flair {
|
||
top: 0.25em;
|
||
right: 0.25em;
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6 .code-block-flair {
|
||
width: auto;
|
||
min-width: 2em;
|
||
text-wrap: nowrap;
|
||
}
|
||
|
||
body:not(.is-mobile) {
|
||
.cm-content .cm-embed-block[contenteditable="false"]:has(.edit-block-button) {
|
||
position: relative;
|
||
}
|
||
|
||
/* Move edit controls to the sidebar outside the block */
|
||
.cm-content .cm-embed-block .edit-block-button,
|
||
.cm-content .bases-embed .edit-block-button,
|
||
.markdown-source-view.mod-cm6 .code-block-flair {
|
||
top: 0;
|
||
right: auto;
|
||
left: 100%;
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6.is-readable-line-width .cm-content .cm-embed-block .edit-block-button,
|
||
.markdown-source-view.mod-cm6.is-readable-line-width .cm-content .bases-embed .edit-block-button,
|
||
.markdown-source-view.mod-cm6.is-readable-line-width .markdown-source-view.mod-cm6 .code-block-flair {
|
||
left: calc(100% + 0.5em);
|
||
}
|
||
}
|
||
|
||
.markdown-source-view.is-live-preview span.cm-blockid {
|
||
background: transparent;
|
||
border-radius: var(--radius-s);
|
||
border: solid 1px var(--theme-color-blockId);
|
||
color: var(--theme-color-blockId);
|
||
line-height: 1.25em;
|
||
padding: 0 0.25em;
|
||
margin-top: 0;
|
||
vertical-align: baseline;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Lists */
|
||
.list-bullet:after {
|
||
border: solid 1px var(--list-marker-color);
|
||
}
|
||
|
||
body.theme-setting-differentiateBulletLevels {
|
||
|
||
.markdown-source-view.mod-cm6 .HyperMD-list-line-1 .list-bullet:after,
|
||
.markdown-preview-view .el-ul>ul>li>.list-bullet:after {
|
||
background-color: var(--list-marker-color);
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6 .HyperMD-list-line-2 .list-bullet:after,
|
||
.markdown-preview-view .el-ul>ul>li>ul>li>.list-bullet:after {
|
||
background-color: transparent;
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6 .HyperMD-list-line-3 .list-bullet:after,
|
||
.markdown-preview-view .el-ul>ul>li>ul>li>ul>li>.list-bullet:after {
|
||
border-radius: 0;
|
||
background-color: var(--list-marker-color);
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6 .HyperMD-list-line-4 .list-bullet:after,
|
||
.markdown-preview-view .el-ul>ul>li>ul>li>ul>li>ul>li>.list-bullet:after {
|
||
border-radius: 0;
|
||
background-color: transparent;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Diagrams */
|
||
.mermaid {
|
||
--theme-color-mermaidBorder: black;
|
||
text-align: center;
|
||
}
|
||
|
||
.mermaid svg[aria-roledescription="pie"] .pieCircle,
|
||
.mermaid svg[aria-roledescription="pie"] .legend rect {
|
||
stroke: var(--theme-color-mermaidBorder) !important;
|
||
}
|
||
|
||
.mermaid svg[aria-roledescription="pie"] .pieCircle:nth-of-type(1),
|
||
.mermaid svg[aria-roledescription="pie"] .legend:nth-of-type(1) rect {
|
||
fill: var(--color-red) !important;
|
||
}
|
||
|
||
.mermaid svg[aria-roledescription="pie"] .pieCircle:nth-of-type(2),
|
||
.mermaid svg[aria-roledescription="pie"] .legend:nth-of-type(2) rect {
|
||
fill: var(--color-cyan) !important;
|
||
}
|
||
|
||
.mermaid svg[aria-roledescription="pie"] .pieCircle:nth-of-type(3),
|
||
.mermaid svg[aria-roledescription="pie"] .legend:nth-of-type(3) rect {
|
||
fill: var(--color-orange) !important;
|
||
}
|
||
|
||
.mermaid svg[aria-roledescription="pie"] .pieCircle:nth-of-type(4),
|
||
.mermaid svg[aria-roledescription="pie"] .legend:nth-of-type(4) rect {
|
||
fill: var(--color-blue) !important;
|
||
}
|
||
|
||
.mermaid svg[aria-roledescription="pie"] .pieCircle:nth-of-type(5),
|
||
.mermaid svg[aria-roledescription="pie"] .legend:nth-of-type(5) rect {
|
||
fill: var(--color-yellow) !important;
|
||
}
|
||
|
||
.mermaid svg[aria-roledescription="pie"] .pieCircle:nth-of-type(6),
|
||
.mermaid svg[aria-roledescription="pie"] .legend:nth-of-type(6) rect {
|
||
fill: var(--color-purple) !important;
|
||
}
|
||
|
||
.mermaid svg[aria-roledescription="pie"] .pieCircle:nth-of-type(7),
|
||
.mermaid svg[aria-roledescription="pie"] .legend:nth-of-type(7) rect {
|
||
fill: var(--color-green) !important;
|
||
}
|
||
|
||
.mermaid svg[aria-roledescription="pie"] .pieCircle:nth-of-type(8),
|
||
.mermaid svg[aria-roledescription="pie"] .legend:nth-of-type(8) rect {
|
||
fill: var(--color-pink) !important;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Other typography */
|
||
::spelling-error {
|
||
text-decoration: wavy var(--color-red) underline from-font;
|
||
}
|
||
|
||
/* Horizontal rule */
|
||
.markdown-source-view.mod-cm6 hr,
|
||
.markdown-rendered hr {
|
||
display: flex;
|
||
align-items: center;
|
||
border: none;
|
||
border-top: var(--hr-thickness) solid;
|
||
border-color: var(--hr-color);
|
||
margin: 2em 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Callouts */
|
||
.markdown-source-view .HyperMD-quote,
|
||
.callout {
|
||
font-weight: 300;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Code */
|
||
/* Inline code */
|
||
.cm-s-obsidian .cm-inline-code:not(.cm-formatting),
|
||
.markdown-rendered code {
|
||
padding: 0.25em 0.5em;
|
||
}
|
||
|
||
/* Code blocks */
|
||
.markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock:not(.HyperMD-list-line) {
|
||
/* Matched to --callout-padding */
|
||
padding-inline-start: 1.5em;
|
||
padding-inline-end: 1.5em;
|
||
}
|
||
|
||
body.theme-setting-codeBlockLineNumbers {
|
||
.markdown-source-view.mod-cm6 {
|
||
.cm-line.HyperMD-codeblock-begin+.cm-line.HyperMD-codeblock:not(.HyperMD-codeblock-end) {
|
||
counter-reset: codeLineCount 0;
|
||
}
|
||
|
||
.cm-line.HyperMD-codeblock-begin+.cm-line.HyperMD-codeblock,
|
||
.cm-line.HyperMD-codeblock+.cm-line.HyperMD-codeblock:not(.HyperMD-codeblock-end) {
|
||
counter-increment: codeLineCount 1;
|
||
position: relative;
|
||
padding-inline-start: 1em;
|
||
}
|
||
|
||
.cm-line.HyperMD-codeblock-begin+.cm-line.HyperMD-codeblock:before,
|
||
.cm-line.HyperMD-codeblock+.cm-line.HyperMD-codeblock:not(.HyperMD-codeblock-end):before {
|
||
content: counter(codeLineCount, decimal) " ";
|
||
text-align: right;
|
||
width: 3em;
|
||
margin-inline-end: 1em;
|
||
align-items: flex-end;
|
||
justify-content: flex-end;
|
||
opacity: 0.25;
|
||
font-size: 0.8em;
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Invalid frontmatter */
|
||
.cm-line:has(.cm-hmd-frontmatter .is-invalid) {
|
||
background-color: rgba(var(--callout-error), 0.1);
|
||
}
|
||
|
||
.metadata-error-container {
|
||
background: none;
|
||
padding: 0;
|
||
border-radius: 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Markdown Checkboxes */
|
||
.markdown-source-view.mod-cm6 .task-list-label .task-list-item-checkbox {
|
||
border-radius: var(--checkbox-radius);
|
||
border-color: var(--theme-color-controlContentArea);
|
||
/* Needs room at left for collapse indicator */
|
||
margin-inline-start: 1em;
|
||
margin-inline-end: 0.25em;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.markdown-source-view.mod-cm6 .task-list-label .task-list-item-checkbox:hover {
|
||
border-color: var(--theme-color-controlContentArea);
|
||
background-color: var(--theme-color-controlContentAreaHover);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Footnotes */
|
||
.cm-s-obsidian span.cm-footref.cm-inline-footnote.cm-formatting-inline-footnote,
|
||
.cm-s-obsidian span.cm-footref.cm-hmd-barelink.cm-formatting,
|
||
.cm-s-obsidian span.cm-formatting-image,
|
||
.cm-s-obsidian span.cm-formatting-link-string,
|
||
.cm-s-obsidian span.cm-formatting-link {
|
||
color: var(--link-color);
|
||
}
|
||
|
||
.cm-s-obsidian span.cm-footref.cm-hmd-barelink,
|
||
.cm-s-obsidian span.cm-blockid {
|
||
color: var(--link-color);
|
||
}
|
||
|
||
.cm-s-obsidian .cm-line.HyperMD-footnote span.cm-hmd-footnote,
|
||
.cm-s-obsidian .cm-line.HyperMD-footnote span.cm-hmd-footnote .cm-underline {
|
||
color: var(--link-color);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
/* #region Typography for markup and controls associated with user's text - src/typography_meta.css */
|
||
/* Markdown formatting shown while editing e.g. ### for headings */
|
||
.cm-formatting.cm-formatting-header {
|
||
color: var(--theme-color-textMeta);
|
||
font-weight: normal;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
/* Line numbers */
|
||
.markdown-source-view.mod-cm6 .cm-gutters {
|
||
color: var(--theme-color-lineNumbers) !important;
|
||
}
|
||
|
||
/* Highlight active line setting */
|
||
body.theme-setting-highlightActiveLine {
|
||
.markdown-source-view.mod-cm6 {
|
||
.cm-active:not(.HyperMD-codeblock) {
|
||
background-color: var(--theme-color-activeLineHighlight);
|
||
border-radius: var(--radius-xs);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #region Collapse indicators */
|
||
/* TODO: re-do collapse indicators */
|
||
/* Appearance consistent with navigation controls */
|
||
/* .collapse-indicator,
|
||
.list-collapse-indicator {
|
||
background-color: var(--background-primary);
|
||
border-radius: 100%;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-content: center;
|
||
width: var(--theme-length-collapseIndicatorSize);
|
||
height: var(--theme-length-collapseIndicatorSize);
|
||
border: none;
|
||
color: var(--theme-color-control);
|
||
flex-wrap: wrap;
|
||
}
|
||
@media (hover: hover) {
|
||
.collapse-indicator:hover,
|
||
.cm-fold-indicator:hover .collapse-indicator,
|
||
.list-collapse-indicator:hover,
|
||
.view-content .cm-fold-indicator:hover svg.svg-icon,
|
||
.view-content .list-collapse-indicator:hover svg.svg-icon,
|
||
.view-content .collapse-indicator:hover svg.svg-icon {
|
||
color: var(--theme-color-controlTextHover);
|
||
background-color: var(--theme-color-navigationButtonBgHover);
|
||
}
|
||
}
|
||
.markdown-source-view.mod-cm6 .cm-fold-indicator .collapse-indicator {
|
||
height: var(--theme-length-collapseIndicatorSize);
|
||
top: 50%;
|
||
margin-top: calc(-0.5 * var(--theme-length-collapseIndicatorSize));
|
||
padding: 0;
|
||
}
|
||
.markdown-source-view.mod-cm6.is-live-preview
|
||
.cm-line:not(.HyperMD-task-line)
|
||
.cm-fold-indicator
|
||
.collapse-indicator {
|
||
margin-inline-end: 1.75rem;
|
||
padding-inline-end: 0;
|
||
transform: translateX(1.25rem);
|
||
}
|
||
.markdown-preview-view h1,
|
||
.markdown-preview-view h2,
|
||
.markdown-preview-view h3,
|
||
.markdown-preview-view h4,
|
||
.markdown-preview-view h5,
|
||
.markdown-preview-view h6 {
|
||
position: relative;
|
||
}
|
||
.markdown-preview-view .heading-collapse-indicator {
|
||
margin-inline-start: -2rem;
|
||
top: auto;
|
||
}
|
||
.markdown-preview-view h1 .heading-collapse-indicator {
|
||
bottom: 0.5em;
|
||
}
|
||
.markdown-preview-view h2 .heading-collapse-indicator {
|
||
bottom: 0.45em;
|
||
}
|
||
.markdown-preview-view h3 .heading-collapse-indicator {
|
||
bottom: 0.4em;
|
||
}
|
||
.markdown-preview-view h4 .heading-collapse-indicator {
|
||
bottom: 0.3em;
|
||
}
|
||
.markdown-preview-view h5 .heading-collapse-indicator {
|
||
bottom: 0.2em;
|
||
}
|
||
.markdown-preview-view h6 .heading-collapse-indicator {
|
||
bottom: 0.1em;
|
||
}
|
||
.markdown-rendered .list-collapse-indicator {
|
||
padding-inline-end: 0;
|
||
}
|
||
li.is-collapsed .list-bullet:after,
|
||
.is-collapsed ~ .cm-formatting-list .list-bullet:after {
|
||
box-shadow: none;
|
||
}
|
||
@media (hover: hover) {
|
||
/* li.is-collapsed .list-collapse-indicator:hover ~ .list-bullet:after,
|
||
li.is-collapsed .cm-fold-indicator:hover ~ .list-bullet:after,
|
||
.list-collapse-indicator:hover.is-collapsed ~ .list-bullet:after,
|
||
.cm-fold-indicator:hover.is-collapsed ~ .list-bullet:after,
|
||
li.is-collapsed
|
||
.list-collapse-indicator:hover
|
||
~ .cm-formatting-list
|
||
.list-bullet:after,
|
||
li.is-collapsed
|
||
.cm-fold-indicator:hover
|
||
~ .cm-formatting-list
|
||
.list-bullet:after,
|
||
.list-collapse-indicator:hover.is-collapsed
|
||
~ .cm-formatting-list
|
||
.list-bullet:after,
|
||
.cm-fold-indicator:hover.is-collapsed
|
||
~ .cm-formatting-list
|
||
.list-bullet:after {
|
||
background-color: var(--list-marker-color-collapsed);
|
||
box-shadow: none;
|
||
}
|
||
|
||
.list-collapse-indicator:hover ~ .list-bullet:after,
|
||
.cm-fold-indicator:hover ~ .list-bullet:after,
|
||
.list-collapse-indicator:hover ~ .cm-formatting-list .list-bullet:after,
|
||
.cm-fold-indicator:hover ~ .cm-formatting-list .list-bullet:after {
|
||
box-shadow: none;
|
||
}
|
||
} */
|
||
/* #endregion */
|
||
|
||
/* #region Embeds */
|
||
.markdown-embed,
|
||
.bases-embed,
|
||
.pdf-embed,
|
||
.media-embed,
|
||
.internal-query {
|
||
background-color: var(--embed-background);
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-left);
|
||
border-radius: var(--radius-m);
|
||
border-inline-end: var(--embed-border-right);
|
||
border-top: var(--embed-border-top);
|
||
margin: 0;
|
||
}
|
||
|
||
/* I'm treating images as a special case, because they don't have any controls and a colored surround would often be distracting. */
|
||
.internal-embed.image-embed {
|
||
background: transparent;
|
||
border: none;
|
||
border-radius: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
.markdown-embed .embed-title {
|
||
font-size: var(--font-ui-small);
|
||
font-weight: var(--nav-item-weight-hover);
|
||
color: var(--background-modifier-hover);
|
||
margin: 0 2rem 0 0;
|
||
align-items: center;
|
||
display: none;
|
||
}
|
||
|
||
body.theme-setting-embeddedNoteTitleVisibilityHide .embed-title {
|
||
display: none;
|
||
}
|
||
|
||
body.theme-setting-embeddedNoteTitleVisibilityShow .internal-embed:has(.embed-title:not(:empty)) {
|
||
padding-top: 0.5rem;
|
||
}
|
||
|
||
body.theme-setting-embeddedNoteTitleVisibilityShow .embed-title {
|
||
display: flex;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
body.theme-setting-embeddedNoteTitleVisibilityHover .internal-embed:has(.embed-title:not(:empty)) {
|
||
padding-top: 1.5rem;
|
||
}
|
||
|
||
body.theme-setting-embeddedNoteTitleVisibilityHover .internal-embed:has(.embed-title:not(:empty)):hover .embed-title {
|
||
display: flex;
|
||
position: absolute;
|
||
top: 0.5rem;
|
||
left: 1rem;
|
||
}
|
||
}
|
||
|
||
.markdown-embed .markdown-embed-content {
|
||
height: fit-content;
|
||
max-height: var(--embed-max-height);
|
||
overflow: auto;
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6 .cm-content>.markdown-embed[contenteditable="false"]:has(.markdown-embed-link) {
|
||
position: relative;
|
||
}
|
||
|
||
.markdown-embed-link {
|
||
position: absolute;
|
||
top: 0;
|
||
right: auto;
|
||
left: calc(100% + 0.25em);
|
||
}
|
||
|
||
.file-embed-link {
|
||
position: absolute;
|
||
top: 0;
|
||
right: 0;
|
||
}
|
||
|
||
/* #region Image positioning and styling */
|
||
|
||
/* We'll sometimes have images inside columns, so we'd like them to fit into the available space. */
|
||
.markdown-source-view.mod-cm6 .cm-content>img,
|
||
.markdown-source-view.mod-cm6 .cm-content .image-embed img,
|
||
.markdown-source-view.mod-cm6 .cm-content>.cm-line .cm-html-embed img {
|
||
max-width: 100%;
|
||
}
|
||
|
||
body.theme-setting-enableImageAdjustmentWithAltText {
|
||
|
||
/* Center images */
|
||
.markdown-source-view.mod-cm6 .cm-content>img[alt~=center],
|
||
.markdown-source-view.mod-cm6 .cm-content .image-embed[alt~=center] img,
|
||
.markdown-source-view.mod-cm6 .cm-content>.cm-line .cm-html-embed img[alt~=center] {
|
||
display: block;
|
||
margin: 0 auto !important;
|
||
}
|
||
|
||
.markdown-preview-view img[alt~=center] {
|
||
display: block;
|
||
margin: 0 auto;
|
||
}
|
||
|
||
/* Float images left/right */
|
||
/* Unfortunately, floats make live preview mode confused about how to assign line numbers. Left/right floating only applies to reading view */
|
||
.markdown-preview-view img[alt~=right] {
|
||
margin: 0 0 1em 1em !important;
|
||
float: right;
|
||
}
|
||
|
||
.markdown-preview-view img[alt~=left] {
|
||
margin: 0 1em 1em 0 !important;
|
||
float: left;
|
||
}
|
||
|
||
/* Round corners of images */
|
||
.markdown-source-view.mod-cm6 .cm-content>img[alt~=round],
|
||
.markdown-source-view.mod-cm6 .cm-content .image-embed[alt~=round] img,
|
||
.markdown-source-view.mod-cm6 .cm-content>.cm-line .cm-html-embed img[alt~=round],
|
||
.markdown-preview-view img[alt~=round],
|
||
.markdown-preview-view .image-embed[alt~=round] img {
|
||
border-radius: 0.5em;
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6 .cm-content>img[alt~=circle],
|
||
.markdown-source-view.mod-cm6 .cm-content .image-embed[alt~=circle] img,
|
||
.markdown-source-view.mod-cm6 .cm-content>.cm-line .cm-html-embed img[alt~=circle],
|
||
.markdown-preview-view img[alt~=circle],
|
||
.markdown-preview-view .image-embed[alt~=circle] img {
|
||
border-radius: var(--theme-length-fullBorderRadius);
|
||
}
|
||
}
|
||
|
||
body.theme-setting-centerImages {
|
||
|
||
.markdown-source-view.mod-cm6 .cm-content>img,
|
||
.markdown-source-view.mod-cm6 .cm-content .image-embed img,
|
||
.markdown-source-view.mod-cm6 .cm-content>.cm-line .cm-html-embed img {
|
||
display: block;
|
||
margin: 0 auto !important;
|
||
}
|
||
|
||
.markdown-preview-view img {
|
||
display: block;
|
||
margin: 0 auto;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* Audio embed */
|
||
/* Not technically an embed, but when we've opened an audio file directly in fiule navigation we ant to see the same controls. */
|
||
.video-container>audio {
|
||
background-color: var(--embed-background);
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-left);
|
||
border-radius: var(--radius-m);
|
||
border-inline-end: var(--embed-border-right);
|
||
border-top: var(--embed-border-top);
|
||
margin: 0;
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6 .cm-content>.media-embed:has(> audio) {
|
||
display: flex;
|
||
}
|
||
|
||
audio::-webkit-media-controls-enclosure {
|
||
border: none;
|
||
background: transparent;
|
||
padding: 0;
|
||
border-radius: 0;
|
||
max-height: none;
|
||
line-height: 0;
|
||
}
|
||
|
||
audio::-webkit-media-controls-panel {
|
||
background: transparent;
|
||
border: none;
|
||
padding: 0.25rem;
|
||
border-radius: var(--radius-m);
|
||
}
|
||
|
||
/* Video embed */
|
||
/* Not technically an embed, but when we've opened an audio file directly in fiule navigation we ant to see the same controls. */
|
||
.cm-html-embed>video,
|
||
.markdown-reading-view video {
|
||
background-color: var(--embed-background);
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-left);
|
||
border-radius: var(--radius-m);
|
||
border-inline-end: var(--embed-border-right);
|
||
border-top: var(--embed-border-top);
|
||
margin: 0;
|
||
}
|
||
|
||
/* Markdown embed e.g. embedded note */
|
||
.markdown-embed .markdown-rendered .mod-header {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
/* PDF embed */
|
||
.pdf-toolbar {
|
||
background-color: transparent;
|
||
border-bottom: none;
|
||
padding: 0.25em 2.25em 0.25em 0.25em;
|
||
}
|
||
|
||
.pdf-container {
|
||
background-color: var(--pdf-background);
|
||
margin: 0 0.25em 0.25em 0.25em;
|
||
border-bottom-left-radius: 0.3em;
|
||
border-bottom-right-radius: 0.3em;
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6 .pdf-embed .edit-block-button {
|
||
background: transparent;
|
||
top: 0.25em;
|
||
}
|
||
|
||
/* Query embed */
|
||
.internal-query .search-result-container {
|
||
padding: 0 1em 1em 1em;
|
||
max-height: 800px;
|
||
overflow: auto;
|
||
border: none;
|
||
background-color: transparent;
|
||
border-radius: 0;
|
||
}
|
||
|
||
.internal-query .internal-query-header {
|
||
padding: 0.5em 0 0.5em 1em;
|
||
color: var(--text-normal);
|
||
display: flex;
|
||
justify-content: flex-start;
|
||
align-items: center;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.markdown-source-view.mod-cm6 .cm-embed-block:not(.cm-table-widget):has(> .internal-query):hover {
|
||
box-shadow: none;
|
||
}
|
||
}
|
||
|
||
/* Iframe embed */
|
||
.markdown-source-view iframe,
|
||
.markdown-reading-view iframe {
|
||
background-color: var(--embed-background);
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-left);
|
||
border-radius: var(--radius-m);
|
||
border-inline-end: var(--embed-border-right);
|
||
border-top: var(--embed-border-top);
|
||
height: 20em;
|
||
width: 100%;
|
||
}
|
||
|
||
/* #endregion */
|
||
|
||
/* #endregion */
|
||
/* #region Typography for Obsidian UI - src/typography_ui.css */
|
||
/* #region Fonts */
|
||
body {
|
||
/* Use the system font by default for both text and interface, unless user has chosen something else. */
|
||
--font-default: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
|
||
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||
--font-interface-theme: var(--font-default);
|
||
--font-ui-smaller: 0.7rem;
|
||
--font-ui-small: 0.8rem;
|
||
--font-ui-medium: 1rem;
|
||
--font-ui-large: 1.125rem;
|
||
--line-height-normal: 1.5;
|
||
--line-height-tight: 1.3;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Headings - Settings */
|
||
/* Standard size for settings headings */
|
||
.modal.mod-settings .setting-item-heading,
|
||
.modal.mod-settings h2,
|
||
.modal.mod-settings h3,
|
||
.modal.mod-settings h4,
|
||
summary.excalidraw-setting-h1 {
|
||
padding: 0;
|
||
margin: 1em 0 0.5rem 0;
|
||
font-size: var(--font-ui-large);
|
||
font-weight: var(--font-semibold);
|
||
|
||
.setting-item-name {
|
||
font-size: inherit;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
|
||
/* #endregion */
|
||
|
||
/* #region Alternative Checkboxes */
|
||
body.theme-setting-enableBuiltInAlternativeCheckboxes {
|
||
|
||
/* Alternate incomplete states */
|
||
& input.task-list-item-checkbox[data-task="/"]:checked,
|
||
& input.task-list-item-checkbox[data-task="<"]:checked,
|
||
& input.task-list-item-checkbox[data-task="!"]:checked,
|
||
& input.task-list-item-checkbox[data-task="?"]:checked,
|
||
& li[data-task="/"]>input:checked,
|
||
& li[data-task="<"]>input:checked,
|
||
& li[data-task="!"]>input:checked,
|
||
& li[data-task="?"]>input:checked,
|
||
& li[data-task="/"]>p>input:checked,
|
||
& li[data-task="<"]>p>input:checked,
|
||
& li[data-task="!"]>p>input:checked,
|
||
& li[data-task="?"]>p>input:checked {
|
||
background-image: none;
|
||
background-color: transparent;
|
||
position: relative;
|
||
overflow: hidden;
|
||
}
|
||
|
||
& input[data-task="/"]:checked:after,
|
||
& input[data-task="<"]:checked:after,
|
||
& input[data-task="!"]:checked:after,
|
||
& input[data-task="?"]:checked:after,
|
||
& li[data-task="/"]>input:checked:after,
|
||
& li[data-task="<"]>input:checked:after,
|
||
& li[data-task="!"]>input:checked:after,
|
||
& li[data-task="?"]>input:checked:after,
|
||
& li[data-task="/"]>p>input:checked:after,
|
||
& li[data-task="<"]>p>input:checked:after,
|
||
& li[data-task="!"]>p>input:checked:after,
|
||
& li[data-task="?"]>p>input:checked:after {
|
||
content: "";
|
||
top: -1px;
|
||
left: -1px;
|
||
position: absolute;
|
||
width: var(--checkbox-size);
|
||
height: var(--checkbox-size);
|
||
display: block;
|
||
background-color: var(--theme-color-controlContentArea);
|
||
-webkit-mask-position: 50% 50%;
|
||
-webkit-mask-size: 100%;
|
||
-webkit-mask-repeat: no-repeat;
|
||
}
|
||
|
||
& input[data-task="/"]:checked:after,
|
||
& li[data-task="/"]>input:checked:after,
|
||
& li[data-task="/"]>p>input:checked:after {
|
||
-webkit-mask-image: url('data:image/svg+xml; utf8, <svg width="24px" height="24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g fill="%23000000"><polyline points="12,-12 48,-12 48,36 12,36" transform="rotate(45) translate(5,-12)"></polyline></g></g></svg>');
|
||
}
|
||
|
||
& input[data-task="<"]:checked:after,
|
||
& li[data-task="<"]>input:checked:after,
|
||
& li[data-task="<"]>p>input:checked:after {
|
||
-webkit-mask-image: url('data:image/svg+xml; utf8, <svg width="24px" height="24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g fill="%23000000"><polyline points="15,4.5 6,12 15,19.5 16.75,17.5 10,12 16.75,6.5"></polyline></g></g></svg>');
|
||
}
|
||
|
||
& input[data-task="!"]:checked:after,
|
||
& li[data-task="!"]>input:checked:after,
|
||
& li[data-task="!"]>p>input:checked:after {
|
||
-webkit-mask-image: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" x2="12" y1="5" y2="13"/><line x1="12" x2="12" y1="19" y2="19"/></svg>');
|
||
}
|
||
|
||
& input[data-task="?"]:checked:after,
|
||
& li[data-task="?"]>input:checked:after,
|
||
& li[data-task="?"]>p>input:checked:after {
|
||
-webkit-mask-image: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7.5,6.852c0.463,-1.049 1.493,-2.872 4.5,-2.852c3.957,0.026 5.001,2.617 5,4.5c-0.002,2.952 -4.963,3.463 -5,7.5"/><path d="M12.25,20l-0.443,-0"/></svg>');
|
||
}
|
||
|
||
/* Complete states */
|
||
& .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="x"],
|
||
& .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="-"],
|
||
& .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=">"],
|
||
.bases-tbody input[type=checkbox][data-indeterminate="true"]:not(:checked) {
|
||
text-decoration: var(--checklist-done-decoration);
|
||
color: var(--checklist-done-color);
|
||
}
|
||
|
||
& input[data-task="x"]:checked,
|
||
& li[data-task="x"]>input:checked,
|
||
& li[data-task="x"]>p>input:checked,
|
||
& input[data-task="X"]:checked,
|
||
& li[data-task="X"]>input:checked,
|
||
& li[data-task="X"]>p>input:checked,
|
||
& input.task-list-item-checkbox[data-task=">"]:checked,
|
||
& li[data-task=">"]>input:checked,
|
||
& li[data-task=">"]>p>input:checked,
|
||
& input.task-list-item-checkbox[data-task="-"]:checked,
|
||
& li[data-task="-"]>input:checked,
|
||
& li[data-task="-"]>p>input:checked,
|
||
.bases-tbody input[type=checkbox][data-indeterminate="true"]:not(:checked) {
|
||
background-image: none;
|
||
border-color: var(--theme-color-controlContentArea);
|
||
position: relative;
|
||
overflow: hidden;
|
||
background-color: var(--theme-color-controlContentArea);
|
||
color: white;
|
||
}
|
||
|
||
& input[data-task="x"]:checked:after,
|
||
& li[data-task="x"]>input:checked:after,
|
||
& li[data-task="x"]>p>input:checked:after,
|
||
& input[data-task="x"]:checked:after,
|
||
& li[data-task="x"]>input:checked:after,
|
||
& li[data-task="x"]>p>input:checked:after,
|
||
& input[data-task="-"]:checked:after,
|
||
& li[data-task="-"]>input:checked:after,
|
||
& li[data-task="-"]>p>input:checked:after,
|
||
& input[data-task=">"]:checked:after,
|
||
& li[data-task=">"]>input:checked:after,
|
||
& li[data-task=">"]>p>input:checked:after,
|
||
.bases-tbody input[type=checkbox][data-indeterminate="true"]:not(:checked):after {
|
||
content: "";
|
||
top: -1px;
|
||
left: -1px;
|
||
position: absolute;
|
||
width: var(--checkbox-size);
|
||
height: var(--checkbox-size);
|
||
display: block;
|
||
background-color: var(--checkbox-marker-color);
|
||
-webkit-mask-repeat: no-repeat;
|
||
}
|
||
|
||
& input[data-task="x"]:checked:after,
|
||
& li[data-task="x"]>input:checked:after,
|
||
& li[data-task="x"]>p>input:checked:after {
|
||
-webkit-mask-position: 52% 52%;
|
||
-webkit-mask-size: 65%;
|
||
-webkit-mask-image: url('data:image/svg+xml; utf8, <svg width="12px" height="10px" viewBox="0 0 12 8" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g transform="translate(-4.000000, -6.000000)" fill="%23000000"><path d="M8.1043257,14.0367999 L4.52468714,10.5420499 C4.32525014,10.3497722 4.32525014,10.0368095 4.52468714,9.8424863 L5.24777413,9.1439454 C5.44721114,8.95166768 5.77142411,8.95166768 5.97086112,9.1439454 L8.46638057,11.5903727 L14.0291389,6.1442083 C14.2285759,5.95193057 14.5527889,5.95193057 14.7522259,6.1442083 L15.4753129,6.84377194 C15.6747499,7.03604967 15.6747499,7.35003511 15.4753129,7.54129009 L8.82741268,14.0367999 C8.62797568,14.2290777 8.3037627,14.2290777 8.1043257,14.0367999"></path></g></g></svg>');
|
||
}
|
||
|
||
& input[data-task="-"]:checked:after,
|
||
& li[data-task="-"]>input:checked:after,
|
||
& li[data-task="-"]>p>input:checked:after,
|
||
.bases-tbody input[type=checkbox][data-indeterminate="true"]:not(:checked):after {
|
||
-webkit-mask-position: 50% 50%;
|
||
-webkit-mask-size: 100%;
|
||
-webkit-mask-image: url('data:image/svg+xml; utf8, <svg width="24px" height="24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g fill="%23000000"><polyline points="4,10.5 20,10.5 20,13.5 4,13.5"></polyline></g></g></svg>');
|
||
}
|
||
|
||
& input[data-task=">"]:checked:after,
|
||
& li[data-task=">"]>input:checked:after,
|
||
& li[data-task=">"]>p>input:checked:after {
|
||
-webkit-mask-position: 50% 50%;
|
||
-webkit-mask-size: 100%;
|
||
-webkit-mask-repeat: no-repeat;
|
||
-webkit-mask-image: url('data:image/svg+xml; utf8, <svg width="24px" height="24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g fill="%23000000"><polyline points="9,4.5 18,12 9,19.5 7.25,17.5 14,12 7.25,6.5"></polyline></g></g></svg>');
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
|
||
/* #region Mobile */
|
||
|
||
.is-mobile {
|
||
--file-margins: 0;
|
||
--mobile-sidebar-background: transparent;
|
||
--view-header-height: auto;
|
||
--input-radius: 0.5rem;
|
||
--clickable-icon-radius: 0.25rem;
|
||
--setting-items-radius: 0;
|
||
--setting-items-border-width: 0;
|
||
--setting-items-border-color: var(--background-modifier-border);
|
||
}
|
||
|
||
.is-mobile.is-dark,
|
||
.is-mobile.is-light {
|
||
--setting-items-background: transparent;
|
||
}
|
||
|
||
.is-phone {
|
||
/* I'm pretty sure this isn't used on mobile */
|
||
--divider-width: 0;
|
||
--metadata-divider-width: 0;
|
||
}
|
||
|
||
.is-phone .metadata-container {
|
||
--metadata-divider-width: 0;
|
||
}
|
||
|
||
/* Mobile workspace */
|
||
.is-mobile .workspace>.mod-root {
|
||
padding: var(--safe-area-inset-top) var(--safe-area-inset-right) 0 var(--safe-area-inset-left);
|
||
background: transparent;
|
||
}
|
||
|
||
.is-mobile .workspace-split.mod-root .workspace-tabs.mod-top {
|
||
padding: 0;
|
||
}
|
||
|
||
.is-mobile .view-actions {
|
||
padding: 0;
|
||
}
|
||
|
||
.is-phone .view-header .view-header-left .view-action {
|
||
/* TODO: fix position for this when there's space left/right of main tab */
|
||
}
|
||
|
||
.is-mobile .view-header-title-container {
|
||
height: auto;
|
||
padding-inline-start: 0;
|
||
}
|
||
|
||
.is-phone .workspace .mod-root .workspace-tabs .workspace-tab-container {
|
||
background: transparent;
|
||
border-radius: 0;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.is-phone .workspace-fake-target-overlay:not(.is-in-sidebar) .workspace-tabs .workspace-leaf,
|
||
.is-phone .mod-root .workspace-tabs .workspace-leaf {
|
||
background: transparent;
|
||
}
|
||
|
||
.is-phone .workspace-leaf.mod-active .view-header {
|
||
background: transparent;
|
||
}
|
||
|
||
.is-phone .view-header {
|
||
padding: 0;
|
||
gap: 0 1rem;
|
||
border-bottom: none;
|
||
flex-wrap: wrap;
|
||
background: transparent;
|
||
}
|
||
|
||
.is-phone .view-header-title-container {
|
||
background-color: var(--background-primary);
|
||
border-top-left-radius: calc(var(--tab-radius) * min(var(--theme-setting-mobileHorizontalPadding), 0.5) / 0.5);
|
||
border-top-right-radius: calc(var(--tab-radius) * min(var(--theme-setting-mobileHorizontalPadding), 0.5) / 0.5);
|
||
order: 1;
|
||
width: 100%;
|
||
flex-shrink: 0;
|
||
padding: 0.5em;
|
||
}
|
||
|
||
.is-phone .workspace-split.mod-root .view-content {
|
||
border-top-left-radius: 0;
|
||
border-top-right-radius: 0;
|
||
border-bottom-left-radius: calc(var(--tab-radius) * min(var(--theme-setting-mobileHorizontalPadding), 0.5) / 0.5);
|
||
border-bottom-right-radius: calc(var(--tab-radius) * min(var(--theme-setting-mobileHorizontalPadding), 0.5) / 0.5);
|
||
margin: 0 var(--theme-spacing-mobileHorizontalSpacing);
|
||
width: auto;
|
||
}
|
||
|
||
.is-phone .markdown-source-view .cm-contentContainer {
|
||
padding-top: 0;
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.mobile-navbar {
|
||
padding-top: 0;
|
||
}
|
||
|
||
/* #region Drawers */
|
||
.workspace-drawer {
|
||
background-color: var(--background-secondary);
|
||
background: var(--theme-gradient-bottomToTop);
|
||
bottom: 0;
|
||
top: 0;
|
||
|
||
&.theme-dark {
|
||
/* Override weirdness in app theme */
|
||
background: none;
|
||
}
|
||
|
||
.nav-header {
|
||
border: none;
|
||
}
|
||
}
|
||
|
||
.is-phone .workspace-drawer {
|
||
|
||
/* & .workspace-leaf-content[data-type="file-explorer"] { */
|
||
.nav-buttons-container {
|
||
margin: 0 1rem;
|
||
padding: 0;
|
||
justify-content: space-between;
|
||
}
|
||
|
||
/* } */
|
||
}
|
||
|
||
.workspace-drawer .workspace-leaf {}
|
||
|
||
.workspace-drawer-inner {
|
||
display: flex;
|
||
gap: 1rem;
|
||
}
|
||
|
||
.workspace-drawer-active-tab-container {
|
||
gap: 1rem;
|
||
}
|
||
|
||
.workspace-drawer-tab-options,
|
||
.workspace-drawer-header,
|
||
.workspace-tab-options {
|
||
margin: 0 1rem;
|
||
padding: 0;
|
||
}
|
||
|
||
.workspace-drawer-ribbon {
|
||
border: none;
|
||
}
|
||
|
||
.workspace-drawer .nav-buttons-container .nav-action-button {
|
||
width: auto;
|
||
}
|
||
|
||
.workspace-drawer-tab-select .workspace-tab-header-inner {
|
||
border-radius: var(--input-radius);
|
||
}
|
||
|
||
.mod-tappable,
|
||
.workspace-drawer-active-tab-back-icon,
|
||
.workspace-drawer-active-tab-icon {
|
||
align-items: center;
|
||
background-color: transparent;
|
||
border-radius: var(--clickable-icon-radius);
|
||
color: var(--theme-color-control);
|
||
cursor: var(--cursor);
|
||
display: flex;
|
||
height: auto;
|
||
justify-content: center;
|
||
opacity: var(--icon-opacity);
|
||
padding: var(--size-2-2) var(--size-2-3);
|
||
transition: opacity 0.15s ease-in-out;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.mod-tappable:hover,
|
||
.workspace-drawer-active-tab-back-icon:hover,
|
||
.workspace-drawer-active-tab-icon:hover {
|
||
/* Use hover state for feedback if using a pointing device */
|
||
color: var(--theme-color-controlHover);
|
||
background-color: var(--background-modifier-hover);
|
||
}
|
||
}
|
||
|
||
.workspace-drawer-tab-option-item {
|
||
border-radius: var(--clickable-icon-radius);
|
||
padding: var(--size-2-2) var(--size-2-3);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.workspace-drawer-tab-option-item:hover {
|
||
color: var(--theme-color-controlHover);
|
||
background-color: var(--background-modifier-hover);
|
||
}
|
||
|
||
.workspace-drawer-tab-option-item:hover .workspace-drawer-tab-option-item-icon,
|
||
.workspace-drawer-tab-option-item:hover .workspace-drawer-tab-option-item-title {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
/* These are separate elements, but I want them to look like one */
|
||
.workspace-drawer-active-tab-icon,
|
||
.workspace-drawer-active-tab-icon+.workspace-drawer-active-tab-title {
|
||
padding: var(--size-2-2) var(--size-2-3);
|
||
border-radius: var(--clickable-icon-radius);
|
||
}
|
||
|
||
/* Match height of .workspace-drawer-active-tab-icon */
|
||
.workspace-drawer-active-tab-title {
|
||
height: calc(24px + var(--size-2-2) * 2);
|
||
vertical-align: baseline;
|
||
line-height: 24px;
|
||
}
|
||
|
||
.workspace-drawer-active-tab-icon+.workspace-drawer-active-tab-title {
|
||
border-top-left-radius: 0;
|
||
border-bottom-left-radius: 0;
|
||
/* Hide gap */
|
||
margin-inline-start: calc(-1 * var(--size-4-2));
|
||
}
|
||
|
||
.workspace-drawer-active-tab-icon:has(+ .workspace-drawer-active-tab-title) {
|
||
border-top-right-radius: 0;
|
||
border-bottom-right-radius: 0;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.workspace-drawer-active-tab-icon+.workspace-drawer-active-tab-title:hover,
|
||
.workspace-drawer-active-tab-icon:hover+.workspace-drawer-active-tab-title,
|
||
.workspace-drawer-active-tab-icon:has(+ .workspace-drawer-active-tab-title:hover) {
|
||
color: var(--theme-color-controlHover);
|
||
background-color: var(--background-modifier-hover);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Pull action */
|
||
.pull-action.mod-activated {
|
||
background-color: var(--interactive-accent);
|
||
color: var(--text-on-accent);
|
||
}
|
||
|
||
.pull-down-action {
|
||
top: 0.5rem;
|
||
left: 0.5rem;
|
||
right: 0.5rem;
|
||
width: auto;
|
||
max-width: 30rem;
|
||
margin: var(--safe-area-inset-top) auto 0 auto;
|
||
padding: 0.5em 1em;
|
||
text-align: center;
|
||
border-radius: var(--radius-l);
|
||
}
|
||
|
||
.pull-action {
|
||
position: absolute;
|
||
background-color: var(--background-secondary);
|
||
z-index: var(--layer-popover);
|
||
color: var(--text-muted);
|
||
font-size: 90%;
|
||
transition: background-color ease-in-out 150ms;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Mobile modals */
|
||
.is-phone {
|
||
--theme-length-closeButtonWidth: 2rem;
|
||
}
|
||
|
||
.is-phone .modal-container {
|
||
padding-top: max(calc(var(--safe-area-inset-top) + 2 * var(--theme-spacing-mobileHorizontalSpacing)),
|
||
calc(var(--safe-area-inset-top) + 0.5rem));
|
||
padding-bottom: max(calc(var(--safe-area-inset-bottom) + 2 * var(--theme-spacing-mobileHorizontalSpacing)),
|
||
calc(var(--safe-area-inset-bottom) + 0.5rem));
|
||
/* TODO: removing these as they spoil the slide-in effect, but need to check whether this looks right in practice before deleting */
|
||
/* padding-inline-end: max(
|
||
calc(
|
||
var(--safe-area-inset-right) + 2 *
|
||
var(--theme-spacing-mobileHorizontalSpacing)
|
||
),
|
||
calc(var(--safe-area-inset-right) + 0.5rem)
|
||
); */
|
||
/* padding-inline-start: max(
|
||
calc(
|
||
var(--safe-area-inset-left) + 2 *
|
||
var(--theme-spacing-mobileHorizontalSpacing)
|
||
),
|
||
calc(var(--safe-area-inset-left) + 0.5rem)
|
||
); */
|
||
}
|
||
|
||
.is-phone .mod-confirmation .modal {
|
||
left: max(calc(var(--theme-spacing-mobileHorizontalSpacing)), 0.5rem);
|
||
right: max(calc(var(--theme-spacing-mobileHorizontalSpacing)), 0.5rem);
|
||
width: min(calc(100vw - 2 * var(--theme-spacing-mobileHorizontalSpacing),
|
||
calc(100vw - 1rem)));
|
||
}
|
||
|
||
.is-phone .modal,
|
||
.is-phone .modal.mod-lg,
|
||
.is-phone .modal.mod-sidebar-layout {
|
||
border-radius: var(--modal-radius);
|
||
}
|
||
|
||
.is-phone .modal .modal-title {
|
||
margin-inline-start: 2rem;
|
||
margin-inline-end: 2rem;
|
||
}
|
||
|
||
.is-phone .modal.mod-sidebar-layout .modal-content>* {
|
||
padding: 1em calc(1em + var(--safe-area-inset-right)) 1em calc(1em + var(--safe-area-inset-left));
|
||
}
|
||
|
||
.is-phone .vertical-tab-header-group {
|
||
margin: 0 auto;
|
||
width: 100%;
|
||
|
||
.vertical-tab-header-group-items {
|
||
border-radius: var(--radius-m);
|
||
overflow: hidden;
|
||
}
|
||
}
|
||
|
||
.is-phone .modal.mod-settings .vertical-tab-header>.vertical-tab-header-group:last-child {
|
||
padding-bottom: inherit;
|
||
}
|
||
|
||
.is-phone .modal.mod-settings .vertical-tab-header {
|
||
background: transparent;
|
||
}
|
||
|
||
.is-phone .modal.mod-settings .vertical-tab-nav-item {
|
||
display: flex;
|
||
align-items: center;
|
||
height: 44px;
|
||
background-color: transparent;
|
||
padding: 0 0.75em;
|
||
margin: 0;
|
||
border-radius: 0;
|
||
border: none;
|
||
transition: background-color 200ms ease-in-out, color 200ms ease-in-out;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.is-phone .modal.mod-settings .vertical-tab-nav-item:hover {
|
||
background-color: var(--theme-color-controlBgHover);
|
||
|
||
.vertical-tab-nav-item-chevron {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
}
|
||
|
||
.is-phone .modal.mod-sidebar-layout .modal-title {
|
||
border-bottom: none;
|
||
}
|
||
|
||
.is-phone .modal.mod-settings .vertical-tab-nav-item-chevron,
|
||
.is-phone .modal.mod-settings .vertical-tab-nav-item-title {
|
||
border-bottom: none;
|
||
}
|
||
|
||
body.is-phone.theme-setting-mobileCardsUI .modal.mod-sidebar-layout .modal-title {
|
||
padding: 0.5rem 1rem 0.5rem 1rem;
|
||
}
|
||
|
||
.is-phone .modal.mod-settings .vertical-tab-content {
|
||
background-color: var(--theme-color-settingsGroupBg);
|
||
border-radius: var(--radius-m);
|
||
padding: 0;
|
||
background: transparent;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.is-phone {
|
||
& .modal .modal-nav-action {
|
||
top: 0.5rem;
|
||
}
|
||
}
|
||
|
||
.is-phone .modal .modal-nav-action.mod-cta {
|
||
color: var(--theme-color-controlText);
|
||
right: 1rem;
|
||
}
|
||
|
||
.is-phone .modal .modal-nav-action.mod-secondary {
|
||
left: 1rem;
|
||
}
|
||
|
||
.is-phone .mod-confirmation .modal .modal-title {
|
||
border-bottom: none;
|
||
}
|
||
|
||
.is-phone .modal.mod-lg .modal-close-button,
|
||
.is-phone .modal.mod-sidebar-layout .modal-close-button {
|
||
top: 0.5rem;
|
||
width: var(--theme-length-closeButtonWidth);
|
||
height: var(--theme-length-closeButtonWidth);
|
||
}
|
||
|
||
.is-phone .modal-setting-back-button {
|
||
top: 0.5rem;
|
||
padding: 0;
|
||
left: calc(2 * var(--theme-length-closeButtonWidth));
|
||
|
||
.modal-setting-back-button-icon {
|
||
width: var(--theme-length-closeButtonWidth);
|
||
height: var(--theme-length-closeButtonWidth);
|
||
}
|
||
}
|
||
|
||
body.is-phone.theme-setting-mobileCardsUI .modal.mod-sidebar-layout .modal-setting-back-button {
|
||
top: 0.5rem;
|
||
left: 2.5rem;
|
||
padding: 0;
|
||
}
|
||
|
||
body.is-phone.theme-setting-mobileCardsUI .community-modal-search-summary {
|
||
padding: 0;
|
||
}
|
||
|
||
.is-phone .modal.mod-community-modal .modal-content .modal-sidebar {
|
||
padding: 0;
|
||
}
|
||
|
||
.is-phone .mod-community-modal .community-modal-controls {
|
||
padding: 1em;
|
||
}
|
||
|
||
.is-phone .modal.mod-lg .modal-header,
|
||
.is-phone .modal.mod-sidebar-layout .modal-header {
|
||
padding: 0.5em 0;
|
||
display: flex;
|
||
justify-content: center;
|
||
border-bottom: none;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Mobile scaling */
|
||
/* Scale background elements smaller than foreground */
|
||
body.is-phone.theme-setting-mobileCardsUI:has(.modal-container) .workspace>.mod-root .mod-active,
|
||
body.is-phone.theme-setting-mobileCardsUI:has(.workspace-drawer) .workspace>.mod-root .mod-active {
|
||
transition: transform 0.5s ease-in-out;
|
||
transform: scale(0.95) translateY(-1.5rem);
|
||
}
|
||
|
||
body.is-phone.theme-setting-mobileCardsUI:not( :has(.modal-container:focus-within)):not(:has(.modal)) .workspace>.mod-root .mod-active {
|
||
transition: transform 0.5s ease-in-out;
|
||
transform: scale(1) translateY(0);
|
||
}
|
||
|
||
body.is-phone.theme-setting-mobileCardsUI:has(.modal-container) .workspace>.mod-root .mod-active .view-header-title-container {
|
||
border-top-left-radius: var(--tab-radius);
|
||
border-top-right-radius: var(--tab-radius);
|
||
}
|
||
|
||
body.is-phone.theme-setting-mobileCardsUI:has(.modal-container) .workspace>.mod-root .mod-active .view-content {
|
||
border-bottom-left-radius: var(--tab-radius);
|
||
border-bottom-right-radius: var(--tab-radius);
|
||
}
|
||
|
||
body.is-phone.is-phone.theme-setting-mobileCardsUI .modal-container {
|
||
padding: max(calc(var(--theme-spacing-mobileHorizontalSpacing)), 0.5rem);
|
||
}
|
||
|
||
body.is-phone.theme-setting-mobileCardsUI .mod-confirmation .modal {
|
||
left: max(calc(var(--theme-spacing-mobileHorizontalSpacing)), 0.5rem);
|
||
right: max(calc(var(--theme-spacing-mobileHorizontalSpacing)), 0.5rem);
|
||
width: min(calc(100vw - 2 * var(--theme-spacing-mobileHorizontalSpacing),
|
||
calc(100vw - 1rem)));
|
||
}
|
||
|
||
/* Style similarly to mobile prompt */
|
||
body.is-phone.theme-setting-mobileCardsUI .modal.mod-sidebar-layout {
|
||
width: min(calc(100vw - 2 * var(--theme-spacing-mobileHorizontalSpacing)),
|
||
calc(100vw - 1rem));
|
||
margin-inline-end: max(calc(var(--theme-spacing-mobileHorizontalSpacing)), 0.5rem);
|
||
margin-inline-start: max(calc(var(--theme-spacing-mobileHorizontalSpacing)), 0.5rem);
|
||
margin-top: calc(var(--safe-area-inset-top) + var(--header-height) + 1em);
|
||
border-radius: var(--radius-l) var(--radius-l) 0 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Mobile toolbar */
|
||
.mobile-toolbar {
|
||
background-color: var(--theme-color-mobileToolbarBg);
|
||
}
|
||
|
||
.mobile-toolbar-options-container.mod-fade:not(.mod-at-start):before,
|
||
.mobile-toolbar-options-container.mod-fade:not(.mod-at-end):after {
|
||
background-color: var(--theme-color-mobileToolbarBg);
|
||
background-position: 50% 50%;
|
||
background-repeat: no-repeat;
|
||
height: var(--mobile-toolbar-height);
|
||
line-height: 1em;
|
||
margin: 0;
|
||
top: 0;
|
||
width: 1rem;
|
||
z-index: 1;
|
||
}
|
||
|
||
.mobile-toolbar-options-container.mod-fade:not(.mod-at-start):before {
|
||
background-image: url('data:image/svg+xml; utf8, <svg width="8px" height="32px" viewBox="0 0 8 32" xmlns="http://www.w3.org/2000/svg" stroke="rgb(0,0,0,0.25)" fill="none" stroke-width="2"><path d="M7,1L1,16L7,31"/></svg>');
|
||
content: "";
|
||
left: 0;
|
||
}
|
||
|
||
.mobile-toolbar-options-container.mod-fade:not(.mod-at-end):after {
|
||
background-image: url('data:image/svg+xml; utf8, <svg width="8px" height="32px" viewBox="0 0 8 32" xmlns="http://www.w3.org/2000/svg" stroke="rgb(0,0,0,0.25)" fill="none" stroke-width="2"><path d="M1,1L7,16L1,31"/></svg>');
|
||
content: "";
|
||
right: var(--toolbar-option-width);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Mobile tab switcher */
|
||
.mobile-tab-switcher {
|
||
.mobile-tab-switcher-scroll {
|
||
background: var(--theme-gradient-DarkenedTopToBottom);
|
||
}
|
||
|
||
.mobile-tab-switcher-menubar {
|
||
border-top: 0;
|
||
background: var(--theme-color-settingsBg);
|
||
box-shadow: var(--theme-shadow-indent);
|
||
padding-top: 0;
|
||
|
||
z-index: 1;
|
||
}
|
||
|
||
.mobile-tab-group-container {
|
||
gap: 0.75em 1em;
|
||
}
|
||
|
||
}
|
||
|
||
.mobile-tab .mobile-tab-preview {
|
||
position: relative;
|
||
height: 12rem;
|
||
background-color: var(--tab-background-inactive);
|
||
border-radius: var(--tab-switcher-preview-radius);
|
||
}
|
||
|
||
.mobile-tab.is-active .mobile-tab-preview {
|
||
background-color: var(--background-primary);
|
||
}
|
||
|
||
.mobile-tab-preview-empty {
|
||
background-color: transparent;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
|
||
/* TODO: figure out the right balance for floating nav to minimise overlap */
|
||
.is-mobile.is-floating-nav.is-phone .workspace-drawer .workspace-leaf-content .nav-header~div:last-child {
|
||
margin-bottom: calc(44px + 0.5rem);
|
||
}
|
||
|
||
.is-mobile.is-floating-nav .mod-raised {
|
||
flex-direction: column;
|
||
}
|
||
|
||
.is-mobile.is-floating-nav .mod-raised.mobiule-navbar {
|
||
flex-direction: row;
|
||
}
|
||
|
||
.is-phone .view-header .view-header-left {
|
||
height: auto;
|
||
}
|
||
|
||
.is-phone .view-header .view-action {
|
||
height: auto;
|
||
}
|
||
|
||
.is-mobile.is-floating-nav.is-ios {
|
||
--raised-mask-border-width: 0;
|
||
}
|
||
|
||
.is-phone.auto-full-screen .mod-root,
|
||
.is-phone.is-floating-nav .mod-root {
|
||
mask-image: var(--view-bottom-fade-mask);
|
||
}
|
||
|
||
.is-phone.is-floating-nav {
|
||
--view-top-fade-mask: none;
|
||
--view-bottom-fade-mask: none;
|
||
}
|
||
|
||
.is-phone.is-hidden-nav {
|
||
--view-top-fade-mask: none;
|
||
--view-bottom-fade-mask: none;
|
||
}
|
||
|
||
/* #region Workspace */
|
||
/* #region Overall workspace */
|
||
* {
|
||
scrollbar-color: var(--theme-color-baseTransparent25) transparent;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
*:hover {
|
||
scrollbar-color: var(--theme-color-baseTransparent50) transparent;
|
||
}
|
||
}
|
||
|
||
body {
|
||
position: relative;
|
||
}
|
||
|
||
.app-container {
|
||
background-color: var(--background-secondary);
|
||
background: var(--theme-gradient-bottomToTop);
|
||
}
|
||
|
||
body.theme-setting-fullWidthStatusBar .horizontal-main-container {
|
||
margin-bottom: var(--theme-length-statusBarHeight);
|
||
}
|
||
|
||
.workspace {
|
||
background: transparent;
|
||
}
|
||
|
||
.workspace-split.mod-root {
|
||
background: var(--theme-gradient-topToBottom);
|
||
padding-bottom: 1.5rem;
|
||
padding: 0 0.5em var(--theme-length-statusBarHeight) 0.5em;
|
||
}
|
||
|
||
.nav-header {
|
||
padding: 0.5rem;
|
||
}
|
||
|
||
.view-content {
|
||
position: relative;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Windows window frame styles */
|
||
/* #region "Obsidian frame" style */
|
||
body.mod-windows {
|
||
&.is-frameless:not(.is-hidden-frameless) {
|
||
|
||
/* Override default appearance for .mod-close, as this one simulates a system control. */
|
||
.titlebar-button.mod-close {
|
||
border-radius: 0;
|
||
width: auto;
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
/* #region Tabs */
|
||
.workspace-tabs .workspace-leaf {
|
||
background: transparent;
|
||
}
|
||
|
||
.sidebar-toggle-button,
|
||
.workspace-tabs.mod-top,
|
||
.is-focused .sidebar-toggle-button,
|
||
.is-focused .workspace-tabs.mod-top {
|
||
--tab-container-background: transparent;
|
||
}
|
||
|
||
.workspace-tab-header-container {
|
||
padding: 0;
|
||
|
||
.workspace-tab-header {
|
||
background-color: var(--tab-background-inactive);
|
||
border-radius: var(--tab-radius-active) var(--tab-radius-active) 0 0;
|
||
|
||
&.is-active {
|
||
box-shadow: var(--theme-shadow-input);
|
||
}
|
||
}
|
||
}
|
||
|
||
.workspace-tab-header-container-inner {
|
||
gap: 0.25em;
|
||
}
|
||
|
||
.workspace-tab-header-inner {
|
||
padding: 0.5rem;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.workspace-tab-header-container {
|
||
.workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner {
|
||
color: var(--icon-color-focused);
|
||
background-color: var(--theme-color-tabBgInactiveHover);
|
||
}
|
||
|
||
.workspace-tab-header-inner:hover .workspace-tab-header-inner-icon {
|
||
color: var(--icon-color-focused);
|
||
opacity: var(--icon-opacity);
|
||
}
|
||
}
|
||
}
|
||
|
||
.workspace-leaf.mod-active .view-header-title {
|
||
color: var(--tab-text-color-active);
|
||
display: block;
|
||
}
|
||
|
||
.is-focused .workspace-leaf.mod-active .view-header-title {
|
||
color: var(--tab-text-color-focused-active-current);
|
||
}
|
||
|
||
.is-mobile .mod-root .workspace-tab-header-container {
|
||
min-height: 44px;
|
||
}
|
||
|
||
.workspace-split.mod-root {
|
||
.workspace-tabs.mod-top {
|
||
padding-top: 0.5rem;
|
||
}
|
||
|
||
.workspace-tab-header-container {
|
||
|
||
.workspace-tab-header::before,
|
||
.workspace-tab-header::after {
|
||
box-shadow: inset 0 0 0 var(--tab-outline-width) var(--tab-outline-color), 0 0 0 calc(var(--tab-curve) * 4) var(--tab-background-inactive);
|
||
}
|
||
|
||
.workspace-tab-header.is-active::before,
|
||
.workspace-tab-header.is-active::after {
|
||
box-shadow: inset 0 0 0 var(--tab-outline-width) var(--tab-outline-color), 0 0 0 calc(var(--tab-curve) * 4) var(--tab-background-active);
|
||
}
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.workspace-split.mod-root {
|
||
.workspace-tab-header-container {
|
||
|
||
.workspace-tab-header:not(.is-active):hover::before,
|
||
.workspace-tab-header:not(.is-active):hover::after {
|
||
box-shadow: inset 0 0 0 var(--tab-outline-width) var(--tab-outline-color), 0 0 0 calc(var(--tab-curve) * 4) var(--background-modifier-hover);
|
||
;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.workspace .mod-root {
|
||
.workspace-tabs {
|
||
padding: 0.375em 0.5em 0.375em 0.5em;
|
||
border-radius: 0;
|
||
}
|
||
|
||
.workspace-tabs .workspace-tab-container {
|
||
background-color: var(--background-primary);
|
||
border-radius: var(--tab-radius);
|
||
box-shadow: var(--theme-shadow-input);
|
||
}
|
||
|
||
.workspace-tab-header-container-inner {
|
||
/* Define spacing on tabs to fit with radius */
|
||
padding: 0 calc(var(--tab-radius) * 2) 0 calc(var(--tab-radius) * 2);
|
||
}
|
||
|
||
.workspace-tab-header {
|
||
padding: 0;
|
||
}
|
||
|
||
.workspace-tab-header-inner::after {
|
||
/* Not sure what this is for */
|
||
background: transparent;
|
||
}
|
||
|
||
.workspace-tab-header-inner {
|
||
border-radius: var(--tab-radius-active) var(--tab-radius-active) 0 0;
|
||
container-name: root-tab;
|
||
container-type: size;
|
||
padding: 0.5rem 0.25rem 0.5rem 0.5rem;
|
||
}
|
||
|
||
.workspace-tab-header.is-active .workspace-tab-header-inner {
|
||
padding-inline-start: 0.25rem;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.workspace-tab-header:hover .workspace-tab-header-inner {
|
||
padding-inline-start: 0.25rem;
|
||
}
|
||
}
|
||
|
||
/* Show icons for markdown tabs, unless they get too narrow. */
|
||
.workspace-tab-header[data-type="markdown"] .workspace-tab-header-inner-icon,
|
||
.workspace-tab-header[data-type="empty"] .workspace-tab-header-inner-icon {
|
||
display: none;
|
||
}
|
||
|
||
@container root-tab (min-width: 5em) {
|
||
|
||
.workspace-tab-header[data-type="markdown"] .workspace-tab-header-inner-icon,
|
||
.workspace-tab-header[data-type="empty"] .workspace-tab-header-inner-icon {
|
||
display: flex;
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
/* #region Wrap tabs setting */
|
||
body.theme-setting-wrapTabs {
|
||
.workspace-tab-header-container {
|
||
height: auto;
|
||
}
|
||
|
||
.workspace-tab-header-container-inner {
|
||
flex-wrap: wrap;
|
||
align-items: flex-start;
|
||
gap: 0.25em 0.25em;
|
||
}
|
||
|
||
.workspace .mod-root .workspace-tab-header {
|
||
min-width: 8em;
|
||
height: calc(var(--icon-size) + 1rem);
|
||
flex-basis: content;
|
||
flex-grow: 0;
|
||
order: 0;
|
||
container-type: normal;
|
||
z-index: 1;
|
||
|
||
&.is-active {
|
||
order: 1;
|
||
}
|
||
}
|
||
|
||
.workspace .mod-root .workspace-tab-header-inner {
|
||
container-type: normal;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Tabs with Obsidian navigation or data (as opposed to user content) can have a different inactive color */
|
||
body.theme-setting-distinguishNonContentTabs {
|
||
|
||
.workspace-split.mod-root {
|
||
& .workspace-tab-header-container {
|
||
|
||
.workspace-tab-header[data-type="bases"],
|
||
.workspace-tab-header[data-type="calendar"],
|
||
.workspace-tab-header[data-type="graph"],
|
||
.workspace-tab-header[data-type="localgraph"],
|
||
.workspace-tab-header[data-type="map"],
|
||
.workspace-tab-header[data-type="webviewer"] {
|
||
background-color: var(--theme-color-tabNavBg);
|
||
|
||
&:before,
|
||
&:after {
|
||
box-shadow: inset 0 0 0 var(--tab-outline-width) var(--tab-outline-color), 0 0 0 calc(var(--tab-curve)* 4) var(--theme-color-tabNavBg);
|
||
}
|
||
}
|
||
|
||
.workspace-tab-header[data-type="bases"].is-active,
|
||
.workspace-tab-header[data-type="calendar"].is-active,
|
||
.workspace-tab-header[data-type="graph"].is-active,
|
||
.workspace-tab-header[data-type="localgraph"].is-active,
|
||
.workspace-tab-header[data-type="map"].is-active,
|
||
.workspace-tab-header[data-type="webviewer"].is-active {
|
||
background-color: var(--theme-color-tabNavActiveBg);
|
||
|
||
&:before,
|
||
&:after {
|
||
box-shadow: inset 0 0 0 var(--tab-outline-width) var(--tab-outline-color), 0 0 0 calc(var(--tab-curve)* 4) var(--theme-color-tabNavActiveBg);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
.workspace-leaf-content[data-type="bases"],
|
||
.workspace-leaf-content[data-type="calendar"],
|
||
.workspace-leaf-content[data-type="graph"],
|
||
.workspace-leaf-content[data-type="localgraph"],
|
||
.workspace-leaf-content[data-type="map"],
|
||
.workspace-leaf-content[data-type="webviewer"],
|
||
.is-focused .workspace-leaf.mod-active .workspace-leaf-content[data-type="bases"],
|
||
.is-focused .workspace-leaf.mod-active .workspace-leaf-content[data-type="calendar"],
|
||
.is-focused .workspace-leaf.mod-active .workspace-leaf-content[data-type="graph"],
|
||
.is-focused .workspace-leaf.mod-active .workspace-leaf-content[data-type="localgraph"],
|
||
.is-focused .workspace-leaf.mod-active .workspace-leaf-content[data-type="map"],
|
||
.is-focused .workspace-leaf.mod-active .workspace-leaf-content[data-type="webviewer"] {
|
||
.view-header {
|
||
background-color: var(--theme-color-tabNavActiveBg);
|
||
border-bottom: none;
|
||
|
||
.mod-fade:after {
|
||
display: none;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
|
||
/* #region Empty state */
|
||
.workspace-leaf-content[data-type="empty"] .empty-state-title {
|
||
display: none;
|
||
}
|
||
|
||
.empty-state {
|
||
justify-content: flex-start;
|
||
padding-top: 3em;
|
||
}
|
||
|
||
.empty-state-container {
|
||
background: var(--theme-color-emptyStateBg);
|
||
border-radius: var(--radius-m);
|
||
max-height: none;
|
||
max-width: none;
|
||
padding: 1.5em 1.5em 1.5em 1.5em;
|
||
margin: 1.5em;
|
||
}
|
||
|
||
.empty-state-action-list {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 0.5em;
|
||
margin-top: 0;
|
||
}
|
||
|
||
.empty-state-action-list .empty-state-action {
|
||
padding: 0 1.5em;
|
||
}
|
||
|
||
.empty-state-action-list .empty-state-action.mod-close {
|
||
display: none;
|
||
}
|
||
|
||
.is-mobile {
|
||
.empty-state-action-list {
|
||
gap: 1em;
|
||
margin: 0;
|
||
}
|
||
|
||
.empty-state-action {
|
||
margin: 0;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Sidebars */
|
||
.mod-sidedock {
|
||
padding-bottom: 1em;
|
||
|
||
&:has(.workspace-sidedock-vault-profile) {
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.workspace-tabs {
|
||
gap: 0;
|
||
padding-bottom: 0.5rem;
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
|
||
.workspace-tabs:last-of-type {
|
||
padding-bottom: 0;
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.workspace-tab-header-container {
|
||
height: auto;
|
||
justify-content: center;
|
||
margin-top: 0;
|
||
|
||
.workspace-tab-header-container-inner {
|
||
background: var(--tab-background-inactive);
|
||
border-radius: var(--radius-s);
|
||
flex-wrap: wrap;
|
||
gap: 0;
|
||
padding: 0;
|
||
margin: 0 0 0 0;
|
||
overflow: hidden;
|
||
|
||
/* Override scrollbar color, because it forces the scrollbar to appear and we want it invisible here */
|
||
scrollbar-color: auto;
|
||
|
||
.workspace-tab-header {
|
||
border-radius: 0;
|
||
}
|
||
}
|
||
|
||
.workspace-tab-header-container-inner:has(.workspace-tab-header[data-type="markdown"].is-active:last-child) {
|
||
border-bottom-right-radius: 0;
|
||
}
|
||
|
||
.workspace-tab-header-container-inner:has(.workspace-tab-header[data-type="markdown"].is-active:first-child) {
|
||
border-bottom-left-radius: 0;
|
||
}
|
||
}
|
||
|
||
.workspace-tabs.mod-top>.workspace-tab-header-container {
|
||
margin-top: 0.5em;
|
||
}
|
||
|
||
.workspace-tab-header {
|
||
background: var(--tab-background-inactive);
|
||
}
|
||
|
||
.workspace-tab-header.has-active-menu,
|
||
.workspace-tab-header.is-active {
|
||
background: var(--theme-color-switcherBgActive);
|
||
}
|
||
|
||
.workspace-tab-header[data-type="markdown"] {
|
||
background-color: var(--tab-background-inactive);
|
||
color: var(--tab-text-color-active);
|
||
}
|
||
|
||
.workspace-tab-header[data-type="markdown"].is-active,
|
||
.workspace-tab-header[data-type="webviewer"].is-active {
|
||
color: var(--tab-text-color-active);
|
||
border-radius: var(--tab-radius-active) var(--tab-radius-active) 0 0;
|
||
|
||
.workspace-tab-header-inner-icon {
|
||
color: var(--icon-color);
|
||
}
|
||
}
|
||
|
||
.workspace-tab-header[data-type="markdown"].is-active {
|
||
background-color: var(--tab-background-active);
|
||
|
||
}
|
||
|
||
.workspace-tab-header-inner {
|
||
border-radius: 0;
|
||
}
|
||
|
||
/* TODO: this idea to show the name of the active tab got too messy in practice - is there a better way? */
|
||
/* .workspace-tab-header.is-active .workspace-tab-header-inner-title {
|
||
color: var(--icon-color-focused);
|
||
display: block;
|
||
text-overflow: ellipsis;
|
||
flex-basis: 8ch;
|
||
flex-grow: 0;
|
||
flex-shrink: 1;
|
||
} */
|
||
|
||
.workspace-tab-header-spacer {
|
||
display: none;
|
||
}
|
||
|
||
|
||
.workspace-leaf-content {
|
||
.view-content {
|
||
padding: 0.5rem 1rem 0.5rem 1rem;
|
||
}
|
||
}
|
||
|
||
.workspace-leaf-content[data-type="markdown"],
|
||
.workspace-leaf-content[data-type="webviewer"] {
|
||
padding: 0 1rem;
|
||
|
||
.view-header {
|
||
border-radius: var(--tab-radius-active) var(--tab-radius-active) 0 0;
|
||
}
|
||
|
||
.view-content {
|
||
background-color: var(--tab-background-active);
|
||
border-radius: var(--tab-radius);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* Override built-in style for .is-focused */
|
||
body.is-focused {
|
||
.mod-sidedock {
|
||
|
||
.mod-active .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner-icon,
|
||
.workspace-tab-header.is-active .workspace-tab-header-inner-icon {
|
||
color: var(--icon-color-focused);
|
||
}
|
||
|
||
.workspace-tab-header.is-active .workspace-tab-header-inner-title {
|
||
color: var(--icon-color-focused);
|
||
}
|
||
|
||
.workspace-tab-header[data-type="markdown"].is-active {
|
||
color: var(--tab-text-color-focused-active);
|
||
|
||
.workspace-tab-header-inner-icon {
|
||
color: var(--tab-text-color-focused-active-current);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* .mod-active
|
||
.workspace-tab-header.is-active
|
||
.workspace-tab-header-inner-icon {
|
||
color: var(--text-normal);
|
||
} */
|
||
}
|
||
|
||
.mod-left-split {
|
||
.workspace-leaf-content {
|
||
.view-content {
|
||
/* Reduce left padding as the sidebar also provides visual spacing */
|
||
padding-inline-start: 0.5rem;
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
/* #region Stacked tabs */
|
||
.workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header {
|
||
background-color: var(--tab-background-inactive);
|
||
box-shadow: var(--theme-shadow-input);
|
||
}
|
||
|
||
.workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header.is-active {
|
||
background-color: var(--background-primary);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Ribbon */
|
||
.workspace-ribbon {
|
||
padding-inline-start: 0;
|
||
margin-bottom: 2.5rem;
|
||
}
|
||
|
||
.side-dock-actions {
|
||
border-top-right-radius: var(--radius-m);
|
||
border-bottom-right-radius: var(--radius-m);
|
||
padding: var(--size-2-3);
|
||
background: var(--ribbon-background);
|
||
}
|
||
|
||
.side-dock-actions .side-dock-ribbon-action {
|
||
margin: 0;
|
||
}
|
||
|
||
.side-dock-actions .side-dock-ribbon-action.clickable-icon {
|
||
color: var(--theme-color-control);
|
||
height: 2em;
|
||
width: 2em;
|
||
}
|
||
|
||
.side-dock-actions .side-dock-ribbon-action.clickable-icon.is-active {
|
||
color: var(--theme-color-controlActive);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Sidedock Vault Profile */
|
||
body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile {
|
||
background-color: transparent;
|
||
padding: 0 0.5rem 0.25em 0.5rem;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-switcher:hover .workspace-drawer-vault-switcher-icon {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
body.show-ribbon:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile {
|
||
margin-inline-start: calc(-1 * var(--ribbon-width));
|
||
width: calc(100% + var(--ribbon-width));
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Status bar */
|
||
.status-bar {
|
||
border: none;
|
||
border-top-left-radius: var(--radius-m);
|
||
border-top-right-radius: var(--radius-m);
|
||
gap: 1rem;
|
||
padding: 0 0.5rem 0.25em 0.5rem;
|
||
right: auto;
|
||
left: 50%;
|
||
bottom: 0;
|
||
transform: translateX(-50%);
|
||
height: var(--theme-length-statusBarHeight);
|
||
justify-content: space-between;
|
||
}
|
||
|
||
body.theme-setting-fullWidthStatusBar .status-bar {
|
||
width: 100%;
|
||
}
|
||
|
||
.status-bar-item {
|
||
line-height: 1rem;
|
||
padding: 0.25em 0.5em;
|
||
width: auto;
|
||
white-space: nowrap;
|
||
gap: 0.25em;
|
||
height: 100%;
|
||
}
|
||
|
||
.status-bar-item:has(.status-bar-item) {
|
||
padding: 0;
|
||
}
|
||
|
||
.status-bar-item.mod-clickable {
|
||
color: var(--theme-color-control);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.status-bar-item.mod-clickable:hover {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
.theme-picker-color-scheme-icon>svg {
|
||
fill: var(--theme-color-control);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.theme-picker-color-scheme-icon:hover>svg {
|
||
fill: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.status-bar-item:hover .sync-status-icon.mod-working {
|
||
color: var(--text-normal);
|
||
}
|
||
}
|
||
|
||
.status-bar-item.plugin-editor-status,
|
||
.status-bar-item.plugin-sync {
|
||
padding: 0.25em 0.5em;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Panes */
|
||
.pane-empty {
|
||
color: var(--empty-pane-color);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region. Popout windows */
|
||
body.is-popout-modal.is-frameless .titlebar {
|
||
border-bottom: none;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
|
||
/* #region macOS window frame styles */
|
||
body.mod-macos {
|
||
|
||
/* Base CSS overrides these values, presumably to look like macOS Tahoe. I don't like the excessive rounding in macOS Tahoe, so I'm resetting radii back to standard for Kakano. */
|
||
--clickable-icon-radius: var(--radius-s);
|
||
--input-radius: var(--radius-s);
|
||
--modal-radius: var(--radius-m);
|
||
--search-input-radius: var(--radius-s);
|
||
--tab-radius: var(--radius-s);
|
||
--toggle-radius: var(--radius-l);
|
||
--toggle-thumb-radius: var(--radius-l);
|
||
--vault-profile-radius: var(--radius-m);
|
||
|
||
.workspace-tab-header-new-tab,
|
||
.workspace-tab-header-tab-list {
|
||
padding: 0;
|
||
margin: 0;
|
||
}
|
||
}
|
||
|
||
/* #region "Native frame" style */
|
||
body.mod-macos {
|
||
&:not(.is-frameless) {
|
||
&:not(.is-mobile) {
|
||
|
||
.sidebar-toggle-button.mod-left,
|
||
.sidebar-toggle-button.mod-right {
|
||
padding: 0;
|
||
position: absolute;
|
||
}
|
||
|
||
.mod-sidedock {
|
||
.workspace-tabs.mod-top-right-space .workspace-tab-header-container-inner {
|
||
margin-inline-end: 2.5em;
|
||
}
|
||
}
|
||
|
||
.mod-left-split {
|
||
.workspace-tabs.mod-top>.workspace-tab-header-container {
|
||
padding-inline-end: 1rem;
|
||
}
|
||
}
|
||
|
||
.mod-right-split {
|
||
.workspace-tabs.mod-top>.workspace-tab-header-container {
|
||
padding-inline-start: 1rem;
|
||
}
|
||
}
|
||
|
||
&:not(.is-fullscreen) {
|
||
.workspace.is-left-sidedock-open {
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 0.5em;
|
||
}
|
||
}
|
||
|
||
.workspace:not(.is-left-sidedock-open) {
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 0.5em;
|
||
}
|
||
}
|
||
|
||
.workspace:not(.is-right-sidedock-open) {
|
||
.sidebar-toggle-button.mod-right {
|
||
top: 0;
|
||
right: -0.5em;
|
||
}
|
||
|
||
.workspace-tab-header-container {
|
||
padding-inline-end: 1.5em;
|
||
}
|
||
}
|
||
|
||
.workspace.is-right-sidedock-open {
|
||
.sidebar-toggle-button.mod-right {
|
||
top: 0;
|
||
right: 0.5em;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
&.is-tablet {
|
||
|
||
.sidebar-toggle-button.mod-left,
|
||
.sidebar-toggle-button.mod-right {
|
||
padding: 0;
|
||
}
|
||
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 0;
|
||
left: 0;
|
||
}
|
||
|
||
.sidebar-toggle-button.mod-right {
|
||
top: 0;
|
||
right: 0;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region "Obsidian frame" style */
|
||
body.mod-macos {
|
||
&.is-frameless:not(.is-hidden-frameless) {
|
||
--titlebar-height: 40px;
|
||
|
||
&:not(.is-mobile) {
|
||
|
||
.sidebar-toggle-button.mod-left,
|
||
.sidebar-toggle-button.mod-right {
|
||
padding: 0;
|
||
position: absolute;
|
||
}
|
||
|
||
.mod-sidedock {
|
||
.workspace-tabs.mod-top-right-space .workspace-tab-header-container-inner {
|
||
margin-inline-end: 2.5em;
|
||
}
|
||
}
|
||
|
||
.mod-left-split {
|
||
.workspace-tabs.mod-top>.workspace-tab-header-container {
|
||
padding-inline-end: 1rem;
|
||
}
|
||
}
|
||
|
||
.mod-right-split {
|
||
.workspace-tabs.mod-top>.workspace-tab-header-container {
|
||
padding-inline-start: 1rem;
|
||
}
|
||
}
|
||
|
||
&:not(.is-fullscreen) {
|
||
.workspace.is-left-sidedock-open {
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 0.5em;
|
||
}
|
||
}
|
||
|
||
.workspace:not(.is-left-sidedock-open) {
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 0.5em;
|
||
}
|
||
}
|
||
|
||
.workspace:not(.is-right-sidedock-open) {
|
||
.sidebar-toggle-button.mod-right {
|
||
top: 0;
|
||
right: -0.5em;
|
||
}
|
||
|
||
.workspace-tab-header-container {
|
||
padding-inline-end: 1.5em;
|
||
}
|
||
}
|
||
|
||
.workspace.is-right-sidedock-open {
|
||
.sidebar-toggle-button.mod-right {
|
||
top: 0;
|
||
right: 0.5em;
|
||
}
|
||
}
|
||
}
|
||
|
||
&.is-fullscreen {
|
||
.workspace.is-left-sidedock-open {
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 0.5em;
|
||
}
|
||
}
|
||
|
||
.workspace:not(.is-left-sidedock-open) {
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 0.5em;
|
||
}
|
||
}
|
||
|
||
.workspace.is-right-sidedock-open {
|
||
.sidebar-toggle-button.mod-right {
|
||
top: 0;
|
||
right: 0.5em;
|
||
}
|
||
}
|
||
|
||
.workspace:not(.is-right-sidedock-open) {
|
||
.sidebar-toggle-button.mod-right {
|
||
top: 0;
|
||
right: -0.5em;
|
||
}
|
||
|
||
.mod-root .workspace-tab-header-container {
|
||
padding-inline-end: 1.5em;
|
||
}
|
||
}
|
||
|
||
.workspace-ribbon .sidebar-toggle-button.mod-left {
|
||
left: 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
&.is-tablet {
|
||
|
||
.sidebar-toggle-button.mod-left,
|
||
.sidebar-toggle-button.mod-right {
|
||
padding: 0;
|
||
}
|
||
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 0;
|
||
left: 0;
|
||
}
|
||
|
||
.sidebar-toggle-button.mod-right {
|
||
top: 0;
|
||
right: 0;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region "Hidden (default)" style. This is the default appearance! */
|
||
/* In this window style we need to make sure buttons don't overlap the window controls. */
|
||
body.mod-macos.is-frameless.is-hidden-frameless {
|
||
|
||
.workspace .workspace-tabs.mod-top-left-space .workspace-tab-header-container,
|
||
.workspace .workspace-tabs.mod-top-right-space .workspace-tab-header-container {
|
||
padding: 0 1rem;
|
||
}
|
||
|
||
/* This element also seems to be a handle for window dragging */
|
||
.mod-sidedock .workspace-tabs.mod-top .workspace-tab-header-container {
|
||
margin-top: calc(var(--header-height) + 0.5rem);
|
||
height: auto;
|
||
align-items: flex-end;
|
||
}
|
||
|
||
.mod-sidedock .workspace-tab-header-container-inner {
|
||
height: auto;
|
||
}
|
||
|
||
.sidebar-toggle-button.mod-left,
|
||
.sidebar-toggle-button.mod-right {
|
||
padding: 0;
|
||
position: fixed;
|
||
}
|
||
|
||
&:not(.is-fullscreen) {
|
||
.workspace-ribbon.mod-left {
|
||
margin-top: 0;
|
||
padding-top: var(--header-height);
|
||
}
|
||
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 0.25rem;
|
||
left: calc(var(--ribbon-width) + var(--frame-left-space));
|
||
}
|
||
|
||
.sidebar-toggle-button.mod-right {
|
||
top: 0.25rem;
|
||
right: calc(0.25rem + var(--frame-right-space));
|
||
}
|
||
|
||
.workspace.is-left-sidedock-open {
|
||
.mod-root .sidebar-toggle-button.mod-left {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
.workspace:not(.is-left-sidedock-open) {
|
||
.mod-sidedock .sidebar-toggle-button.mod-left {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
.workspace:not(.is-left-sidedock-open) {
|
||
.mod-root .workspace-tab-header-container {
|
||
padding-inline-start: calc(var(--frame-left-space) + 0.75rem);
|
||
}
|
||
}
|
||
|
||
.workspace:not(.is-right-sidedock-open) {
|
||
.mod-root .workspace-tab-header-container {
|
||
padding-inline-end: calc(var(--frame-right-space) + 1rem);
|
||
}
|
||
}
|
||
}
|
||
|
||
&.is-fullscreen {
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 0.25rem;
|
||
left: 0.25rem;
|
||
}
|
||
|
||
.sidebar-toggle-button.mod-right {
|
||
top: 0.25rem;
|
||
right: 0.25rem;
|
||
}
|
||
|
||
.workspace:not(.is-right-sidedock-open) {
|
||
.mod-root .workspace-tab-header-container {
|
||
padding-inline-end: calc(var(--frame-right-space) + 1.5rem);
|
||
}
|
||
}
|
||
}
|
||
|
||
&.is-tablet {
|
||
|
||
.sidebar-toggle-button.mod-left,
|
||
.sidebar-toggle-button.mod-right {
|
||
padding: 0;
|
||
}
|
||
|
||
.sidebar-toggle-button.mod-left {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
}
|
||
|
||
.sidebar-toggle-button.mod-right {
|
||
position: absolute;
|
||
top: 0;
|
||
right: 0;
|
||
}
|
||
|
||
.workspace .mod-root .workspace-tabs .workspace-tab-header-container {
|
||
padding-inline-start: calc(var(--frame-left-space) + 2rem);
|
||
padding-inline-end: calc(var(--frame-right-space) + 3rem);
|
||
}
|
||
}
|
||
|
||
&.is-phone {
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 0;
|
||
left: 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Tab close button on left, macOS standard */
|
||
.mod-macos {
|
||
.workspace .mod-root {
|
||
.workspace-tab-header .workspace-tab-header-inner-close-button {
|
||
position: static;
|
||
order: 0;
|
||
}
|
||
|
||
.workspace-tab-header-inner-icon,
|
||
.workspace-tab-header-inner-title {
|
||
order: 1;
|
||
}
|
||
}
|
||
|
||
.modal-header-button,
|
||
.modal-close-button {
|
||
inset-inline-start: 0.5rem;
|
||
inset-inline-end: auto;
|
||
}
|
||
|
||
.mod-community-modal .modal-sidebar .setting-item:first-child {
|
||
margin-inline-start: auto;
|
||
}
|
||
|
||
.multi-select-pill {
|
||
padding-inline-start: 0.25em;
|
||
|
||
.multi-select-pill-remove-button {
|
||
order: 0;
|
||
}
|
||
|
||
.multi-select-pill-content {
|
||
order: 1;
|
||
margin: 0;
|
||
}
|
||
}
|
||
|
||
.modal.mod-settings {
|
||
.vertical-tab-header {
|
||
.setting-search-container {
|
||
/* Room for close button */
|
||
padding-left: 2.5rem;
|
||
}
|
||
}
|
||
}
|
||
|
||
.mod-community-modal {
|
||
.community-modal-controls {
|
||
padding-left: 2.5rem;
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
|
||
/* #region Windows window frame styles */
|
||
/* #region "Obsidian frame" style */
|
||
body.mod-windows {
|
||
&.is-frameless:not(.is-hidden-frameless) {
|
||
|
||
/* Override default appearance for .mod-close, as this one simulates a system control. */
|
||
.titlebar-button.mod-close {
|
||
border-radius: 0;
|
||
width: auto;
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region "Hidden (default)" style. This is the default appearance! */
|
||
body.mod-windows {
|
||
&.is-frameless.is-hidden-frameless:not(.is-popout-window) {
|
||
|
||
/* Override default appearance for .mod-close, as this one simulates a system control. */
|
||
.titlebar-button.mod-close {
|
||
border-radius: 0;
|
||
width: auto;
|
||
}
|
||
|
||
.titlebar-button.mod-logo {
|
||
/* This is hidden by default. I'm not sure why, as it provides access to the main menu. */
|
||
display: flex;
|
||
}
|
||
|
||
.workspace-ribbon.side-dock-ribbon.mod-left {
|
||
margin-top: calc(var(--header-height) + 2em);
|
||
}
|
||
|
||
.sidebar-toggle-button.mod-left {
|
||
top: 2em;
|
||
}
|
||
|
||
/* &:not(.is-fullscreen) {
|
||
.sidebar-toggle-button.mod-left {
|
||
position: absolute;
|
||
}
|
||
|
||
.workspace-ribbon.mod-left {
|
||
margin-top: 2.5em;
|
||
padding-top: 0;
|
||
}
|
||
.mod-right-split .mod-top .workspace-tab-header-container {
|
||
position: relative;
|
||
padding-inline-end: calc(var(--frame-right-space) + 30px);
|
||
|
||
.sidebar-toggle-button.mod-right {
|
||
position: absolute;
|
||
right: var(--frame-right-space);
|
||
}
|
||
}
|
||
|
||
.workspace.is-left-sidedock-open {
|
||
.mod-left-split .workspace-tabs {
|
||
overflow: visible;
|
||
}
|
||
.sidebar-toggle-button.mod-left {
|
||
left: var(--ribbon-width);
|
||
top: 0.5em;
|
||
padding: 0;
|
||
}
|
||
}
|
||
.workspace:not(.is-left-sidedock-open) {
|
||
.mod-root .workspace-tabs.mod-top {
|
||
overflow: visible;
|
||
}
|
||
.sidebar-toggle-button.mod-left {
|
||
left: var(--ribbon-width);
|
||
top: 0.5em;
|
||
padding: 0;
|
||
}
|
||
.mod-root .workspace-tab-header-container {
|
||
padding-inline-start: calc(var(--icon-size) + 1rem);
|
||
}
|
||
}
|
||
.workspace:not(.is-right-sidedock-open) {
|
||
}
|
||
.workspace:not(.is-right-sidedock-open) {
|
||
.sidebar-toggle-button.mod-right {
|
||
left: var(--frame-right-space);
|
||
top: -0.5em;
|
||
padding: 0;
|
||
}
|
||
}
|
||
} */
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
|
||
/* #region Linux window frame styles */
|
||
.mod-linux {}
|
||
|
||
/* #endregion */
|
||
/* #region Content area - src/workspace/content_area.css */
|
||
/* #region Order of items in content area */
|
||
|
||
.inline-title {
|
||
order: 0;
|
||
}
|
||
|
||
.mod-root .metadata-container,
|
||
.setting-properties-position-above .mod-root .is-live-preview .metadata-container {
|
||
order: 1;
|
||
}
|
||
|
||
.setting-properties-position-below .mod-root .is-live-preview .metadata-container {
|
||
margin-top: 1em;
|
||
order: 3;
|
||
}
|
||
|
||
.setting-properties-position-below .mod-root .is-live-preview .embedded-backlinks {
|
||
padding: 0 2rem 0.5rem 2rem;
|
||
}
|
||
|
||
body:not(.setting-properties-position-below) .mod-root .is-live-preview .embedded-backlinks {
|
||
margin-top: 1em;
|
||
}
|
||
|
||
.cm-contentContainer {
|
||
order: 2;
|
||
}
|
||
|
||
.embedded-backlinks {
|
||
order: 3;
|
||
}
|
||
|
||
|
||
/* #endregion */
|
||
/* #region Header */
|
||
.view-header {
|
||
height: auto;
|
||
/* Don't use --header-height */
|
||
justify-content: space-between;
|
||
padding: 0.5em;
|
||
}
|
||
|
||
.view-header.is-highlighted:after {
|
||
background-color: var(--theme-color-baseTransparent50);
|
||
}
|
||
|
||
.view-header-title-container {
|
||
display: none;
|
||
}
|
||
|
||
.show-inline-title .view-header-title-container {
|
||
display: flex;
|
||
}
|
||
|
||
.view-header-title {
|
||
display: none;
|
||
}
|
||
|
||
.show-inline-title.is-focused .workspace-leaf.mod-active .view-header-title {
|
||
/* Use the "Display Inline Title" setting to show/hide the title in the header. */
|
||
display: block;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.view-header-title-parent .view-header-breadcrumb:hover {
|
||
background: transparent;
|
||
cursor: auto;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Content */
|
||
/* Reset containers so that metadata properties can go full width */
|
||
.view-content>.markdown-source-view.mod-cm6>.cm-editor>.cm-scroller {
|
||
padding: 0;
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6.is-readable-line-width .cm-sizer,
|
||
.markdown-preview-view.is-readable-line-width .markdown-preview-sizer {
|
||
margin-inline-start: 0;
|
||
margin-inline-end: 0;
|
||
max-width: none;
|
||
width: 100%;
|
||
}
|
||
|
||
.cm-contentContainer {
|
||
justify-content: center;
|
||
/* Allow space at left and right when note is narrow */
|
||
padding: 1rem calc(var(--input-width) + 0.5rem);
|
||
}
|
||
|
||
/* Override inline styles — Obsidian injects a large padding-bottom on these
|
||
as inline styles; zero it out so the page ends where content ends */
|
||
.cm-content {
|
||
padding-bottom: 0 !important;
|
||
}
|
||
|
||
.markdown-preview-sizer {
|
||
|
||
padding-bottom: 0 !important;
|
||
}
|
||
|
||
|
||
/* TODO: restore readable line width */
|
||
|
||
/* #region Inline title (i.e. filename) */
|
||
.inline-title {
|
||
width: 100%;
|
||
margin: 0 auto;
|
||
max-width: var(--file-line-width);
|
||
padding: 0 2rem;
|
||
text-align: center;
|
||
}
|
||
|
||
.view-header-title-container {
|
||
display: none;
|
||
}
|
||
|
||
.show-inline-title .view-header-title-container {
|
||
display: flex;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
/* #region Note metadata containers */
|
||
.mod-root .metadata-container,
|
||
.embedded-backlinks {
|
||
animation: 0.5s 1 alternate fadein;
|
||
background-color: var(--metadata-property-background);
|
||
border-radius: 0;
|
||
border: 0;
|
||
font-family: var(--font-interface);
|
||
margin: 0;
|
||
padding: 0.5rem 2rem;
|
||
transform: none;
|
||
width: 100%;
|
||
|
||
&.mod-error {
|
||
background-color: rgba(var(--callout-error), 0.1);
|
||
}
|
||
}
|
||
|
||
body:not(.is-mobile) .mod-root .markdown-reading-view .metadata-container {
|
||
width: calc(100% + 4rem);
|
||
margin: 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
|
||
/* #region Shared UI Elements */
|
||
/* #region Dragging */
|
||
.workspace-drop-overlay:before {
|
||
animation: 0.5s 1 alternate fadein;
|
||
background-color: var(--theme-color-dragTarget);
|
||
border-radius: var(--radius-m);
|
||
opacity: 1;
|
||
}
|
||
|
||
.workspace-fake-target-overlay {
|
||
background: transparent;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Menus */
|
||
/* Rendered on mobile, or if native menus are disabled */
|
||
.menu {
|
||
background-color: var(--theme-color-menuBg);
|
||
border: 0;
|
||
box-shadow: var(--shadow-l);
|
||
border-radius: var(--radius-l);
|
||
margin: 0 1rem;
|
||
padding: 0.5em;
|
||
}
|
||
|
||
.menu-item {
|
||
height: 2em;
|
||
}
|
||
|
||
.menu-item,
|
||
.menu-item-icon {
|
||
color: var(--nav-item-color);
|
||
background-color: var(--nav-item-background);
|
||
}
|
||
|
||
.menu-item-icon {
|
||
display: none;
|
||
}
|
||
|
||
body.theme-setting-enableIconsInMenus {
|
||
.menu-item-icon {
|
||
display: flex;
|
||
}
|
||
}
|
||
|
||
.menu-item.selected:not(.is-label):not(.is-disabled) {
|
||
background-color: var(--nav-item-background);
|
||
border-radius: var(--radius-s);
|
||
box-shadow: 0 0 0 2px var(--background-modifier-border-focus);
|
||
}
|
||
|
||
.menu-item.selected:not(.is-label):not(.is-disabled):hover {
|
||
background-color: var(--nav-item-background-hover);
|
||
}
|
||
|
||
.menu-separator {
|
||
margin: 0.75em 0.5em;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.menu-item:hover {
|
||
color: var(--nav-item-color-hover);
|
||
background-color: var(--nav-item-background-hover);
|
||
font-weight: var(--nav-item-weight-hover);
|
||
}
|
||
|
||
.menu-item:hover .menu-item-icon {
|
||
color: var(--nav-item-color-hover);
|
||
}
|
||
}
|
||
|
||
.is-phone {
|
||
.menu {
|
||
padding: 0.5rem 0.5rem var(--safe-area-inset-bottom) 0.5rem;
|
||
width: calc(100% - var(--safe-area-inset-left) - var(--safe-area-inset-right) - 2 * var(--theme-spacing-mobileHorizontalSpacing) - max(2 * var(--theme-spacing-mobileHorizontalSpacing), 1rem));
|
||
}
|
||
|
||
.menu .suggestion-group .suggestion-item:not(.is-label),
|
||
.menu-item:not(.is-label) {
|
||
background-color: transparent;
|
||
border-radius: var(--radius-s);
|
||
overflow: hidden;
|
||
}
|
||
|
||
.menu-group .menu-item:not(.is-label):after {
|
||
display: none;
|
||
}
|
||
|
||
.menu-group .menu-item:first-child,
|
||
.menu-group .menu-item:last-child {
|
||
border-radius: var(--radius-s);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Messages */
|
||
|
||
.mod-warning,
|
||
p.mod-warning,
|
||
.setting-message {
|
||
border-radius: var(--clickable-icon-radius);
|
||
font-size: var(--font-ui-small);
|
||
background: var(--theme-color-warningBg);
|
||
padding: 0.5em 1em;
|
||
}
|
||
|
||
.mod-warning:not(button) {
|
||
display: inline-block;
|
||
margin: 0.5em 0;
|
||
border: solid var(--text-error) 0.125em;
|
||
}
|
||
|
||
/* Collapse adjacent messages */
|
||
p.mod-warning~p.mod-warning,
|
||
p.setting-message~p.setting-message {
|
||
margin-bottom: 0;
|
||
padding-top: 0;
|
||
border-top-left-radius: 0;
|
||
border-top-right-radius: 0;
|
||
display: block;
|
||
border-top: none;
|
||
}
|
||
|
||
p.mod-warning:has(+ p.mod-warning, .setting-message),
|
||
.setting-message:has(+ p.mod-warning, .setting-message) {
|
||
border-top-left-radius: var(--clickable-icon-radius);
|
||
border-top-right-radius: var(--clickable-icon-radius);
|
||
border-bottom-left-radius: 0;
|
||
border-bottom-right-radius: 0;
|
||
border-bottom: none;
|
||
margin-bottom: 0;
|
||
display: block;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Notices */
|
||
/* Note that Excalidraw .HintView uses a smaller version, which could be generalised */
|
||
.notice-container {
|
||
padding: 0;
|
||
right: 1rem;
|
||
top: 1rem;
|
||
}
|
||
|
||
.is-mobile .notice-container {
|
||
padding: 0.5em 0.5em 2em 0.5em;
|
||
top: var(--safe-area-inset-top);
|
||
left: auto;
|
||
right: var(--safe-area-inset-right);
|
||
}
|
||
|
||
.is-phone .notice-container {
|
||
padding: 0.5em 0.5em 2em 0.5em;
|
||
top: auto;
|
||
left: var(--safe-area-inset-left);
|
||
right: var(--safe-area-inset-right);
|
||
max-width: 100%;
|
||
margin: 0 auto;
|
||
bottom: max(3rem, var(--safe-area-inset-bottom));
|
||
}
|
||
|
||
.notice,
|
||
.is-phone .notice {
|
||
border-radius: var(--radius-xl);
|
||
background-color: var(--background-modifier-message);
|
||
color: var(--theme-color-notice);
|
||
box-shadow: var(--shadow-s);
|
||
padding: 1em 1.5em;
|
||
}
|
||
|
||
.notice {
|
||
margin: 0 0 1rem 0;
|
||
}
|
||
|
||
.is-phone .notice {
|
||
text-align: center;
|
||
max-width: none;
|
||
width: auto;
|
||
margin: 0 0.5rem 1rem 0.5rem;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Content references (search results, incoming/outgoing links, etc.) */
|
||
|
||
.search-result-file-matches {
|
||
background: none;
|
||
box-shadow: none;
|
||
display: flex;
|
||
gap: 0.5em;
|
||
flex-direction: column;
|
||
margin: 0;
|
||
}
|
||
|
||
.search-result-file-match,
|
||
.sync-history-list-item {
|
||
background: var(--theme-color-contentItemBg);
|
||
border: none;
|
||
border-radius: var(--radius-s);
|
||
box-shadow: none;
|
||
color: var(--nav-item-color);
|
||
font-weight: var(--nav-item-weight);
|
||
padding: 0.5em 1em;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.search-result-file-match:hover,
|
||
.sync-history-list-item:hover {
|
||
background: var(--theme-color-contentItemBgHover);
|
||
cursor: pointer;
|
||
font-weight: var(--nav-item-weight-hover);
|
||
}
|
||
|
||
.search-result-hover-button:hover {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
.sync-history-list-item:has(.sync-history-list-item-header.is-active) {
|
||
background: var(--theme-color-contentItemBgActive);
|
||
}
|
||
|
||
.search-result-file-matched-text {
|
||
font-weight: bold;
|
||
}
|
||
|
||
.search-result:not(.is-collapsed) .search-result-file-title {
|
||
color: var(--theme-color-control);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Trees */
|
||
|
||
.tree-item-self,
|
||
.tree-item-self.mod-collapsible {
|
||
padding-top: 0;
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.tree-item-self .tree-item-icon {
|
||
/* Icons that represent an object have the same colour as the related text */
|
||
color: inherit;
|
||
margin: 0;
|
||
position: relative;
|
||
}
|
||
|
||
.tree-item-self {
|
||
font-size: var(--nav-item-size);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Suggestions (Search, File Recovery, Slash commands) */
|
||
.suggestion-container,
|
||
.suggestion-container.mod-search-suggestion,
|
||
.kanban-plugin__autocomplete {
|
||
display: flex;
|
||
background-color: var(--theme-color-suggestionBg);
|
||
border: none;
|
||
border-radius: var(--radius-m);
|
||
box-shadow: var(--shadow-s);
|
||
list-style: none;
|
||
padding: 0.5rem;
|
||
margin: 0;
|
||
|
||
.search-input-container {
|
||
margin-bottom: 0.5em;
|
||
}
|
||
}
|
||
|
||
.suggestion,
|
||
.suggestion-container.mod-search-suggestion .suggestion {
|
||
background: transparent;
|
||
padding: 0;
|
||
}
|
||
|
||
.suggestion-container .prompt-instructions {
|
||
border-bottom-left-radius: 0.5rem;
|
||
border-bottom-right-radius: 0.5rem;
|
||
margin: 0.5rem -0.5rem -0.5rem -0.5rem;
|
||
padding: 0.5rem 1rem;
|
||
color: var(--theme-color-promptInstructions);
|
||
}
|
||
|
||
.suggestion-title.list-item-part {
|
||
color: var(--text-normal);
|
||
}
|
||
|
||
.suggestion-aux {
|
||
gap: 0.25em;
|
||
}
|
||
|
||
.suggestion-item,
|
||
.kanban-plugin__autocomplete-item,
|
||
.kanban-plugin__autocomplete-item-active {
|
||
border: none;
|
||
border-radius: var(--radius-m);
|
||
padding: 0.5em 1em;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.suggestion-item:hover,
|
||
.kanban-plugin__autocomplete-item:hover,
|
||
.kanban-plugin__autocomplete-item-active:hover {
|
||
background: var(--nav-item-background-hover);
|
||
color: var(--nav-item-color-hover);
|
||
|
||
}
|
||
}
|
||
|
||
.suggestion-item.mod-group,
|
||
.suggestion-item.mod-group .suggestion-title {
|
||
color: var(--text-muted);
|
||
padding: inherit;
|
||
text-transform: lowercase;
|
||
|
||
>*,
|
||
&:first-line {
|
||
text-transform: capitalize;
|
||
}
|
||
}
|
||
|
||
.search-suggest-item.mod-group {
|
||
padding: 0 1em;
|
||
}
|
||
|
||
.search-suggest-item.mod-group:not(:first-child) {
|
||
border-top: none;
|
||
margin: 1em 0 0;
|
||
padding: 0 1em;
|
||
}
|
||
|
||
.kanban-plugin__autocomplete-item-active {
|
||
background: inherit;
|
||
color: inherit;
|
||
}
|
||
|
||
.suggestion-item.is-selected {
|
||
background-color: var(--theme-color-controlBgActive);
|
||
color: var(--theme-color-controlActive);
|
||
|
||
.suggestion-flair {
|
||
color: var(--nav-item-color-active);
|
||
}
|
||
}
|
||
|
||
.suggestion-item.mod-complex.is-selected .suggestion-action {
|
||
color: var(--theme-color-controlUISelected);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Hotkeys */
|
||
|
||
.suggestion-hotkey,
|
||
.setting-hotkey,
|
||
.prompt-instruction-command {
|
||
background: transparent;
|
||
border: solid 1px var(--theme-color-hotkey);
|
||
color: var(--theme-color-hotkey);
|
||
font-size: var(--font-ui-smaller);
|
||
font-family: var(--font-interface);
|
||
padding: 2px 6px;
|
||
border-radius: var(--radius-s);
|
||
}
|
||
|
||
.suggestion-item.is-selected .suggestion-hotkey {
|
||
border-color: var(--theme-color-textSelected);
|
||
color: var(--theme-color-textSelected);
|
||
}
|
||
|
||
.setting-hotkey.has-conflict {
|
||
background: transparent;
|
||
border: solid 1px var(--background-modifier-error);
|
||
color: var(--background-modifier-error);
|
||
}
|
||
|
||
/* #endregion */
|
||
|
||
/* #region Buttons */
|
||
/* #region Clickable icon buttons */
|
||
.markdown-source-view.mod-cm6 .code-block-flair,
|
||
.clickable-icon,
|
||
.setting-item-control .clickable-icon,
|
||
.mod-community-modal .modal-sidebar button.clickable-icon,
|
||
.metadata-property-icon,
|
||
.markdown-embed-link,
|
||
.file-embed-link,
|
||
.markdown-source-view.mod-cm6 .edit-block-button,
|
||
.tasks-edit,
|
||
.workspace-tab-header-tab-list .clickable-icon,
|
||
.workspace-tab-header-new-tab .clickable-icon,
|
||
.map-view-main .mv-icon-button .map-view-main .leaflet-control-container .leaflet-top.leaflet-right a,
|
||
.bases-toolbar-menu-item .clickable-icon {
|
||
align-items: center;
|
||
background-color: transparent;
|
||
border-radius: var(--clickable-icon-radius);
|
||
border: none;
|
||
box-shadow: none;
|
||
color: var(--theme-color-control);
|
||
cursor: var(--cursor);
|
||
display: flex;
|
||
height: 2em;
|
||
justify-content: center;
|
||
min-height: var(--input-height);
|
||
min-width: var(--input-height);
|
||
opacity: var(--icon-opacity);
|
||
padding: 0.25rem;
|
||
text-decoration: none;
|
||
transition: opacity 0.15s ease-in-out;
|
||
width: auto;
|
||
}
|
||
|
||
.is-mobile .clickable-icon {
|
||
min-height: 44px;
|
||
min-width: 44px;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.markdown-source-view.mod-cm6 .code-block-flair:hover,
|
||
.clickable-icon:hover,
|
||
.side-dock-actions .side-dock-ribbon-action.clickable-icon:hover,
|
||
.mod-community-modal .modal-sidebar button.clickable-icon:hover,
|
||
.metadata-property-icon:hover,
|
||
.markdown-embed-link:hover,
|
||
.file-embed-link:hover,
|
||
.markdown-source-view.mod-cm6 .edit-block-button:hover,
|
||
.tasks-edit:hover,
|
||
.map-view-main .mv-icon-button:hover,
|
||
.bases-toolbar-menu-item .clickable-icon:hover {
|
||
color: var(--theme-color-controlHover);
|
||
background-color: var(--background-modifier-hover);
|
||
}
|
||
}
|
||
|
||
.clickable-icon.is-active,
|
||
.map-view-main .mv-icon-button.on {
|
||
opacity: var(--icon-opacity-hover);
|
||
color: var(--theme-color-controlLightweightActive);
|
||
background-color: var(--theme-color-interactiveActive);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.clickable-icon.is-active:hover {
|
||
background-color: var(--background-modifier-hover);
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Regular buttons */
|
||
button:not(.clickable-icon):not(.dropdown-menu-item),
|
||
button:not(.clickable-icon).mod-cta,
|
||
.sync-history-load-more-button,
|
||
.empty-state-action,
|
||
.is-mobile .document-search .document-search-button,
|
||
.is-mobile .document-replace .document-search-button,
|
||
.style-settings-import-label,
|
||
.style-settings-copy,
|
||
.style-settings-download,
|
||
.style-settings-import,
|
||
.style-settings-export,
|
||
.popover.hover-popover>.file-embed.mod-empty {
|
||
background-color: var(--theme-color-controlBg);
|
||
border: none;
|
||
border-radius: var(--button-radius);
|
||
box-shadow: var(--theme-shadow-control);
|
||
color: var(--theme-color-controlText);
|
||
padding: 0.25em 0.5em;
|
||
min-height: var(--input-height);
|
||
height: auto;
|
||
text-decoration: none;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
button:not(.clickable-icon):not(.dropdown-menu-item):hover,
|
||
button:not(.clickable-icon).mod-cta:hover,
|
||
.sync-history-load-more-button:hover,
|
||
.empty-state-action:hover,
|
||
.is-mobile .document-search .document-search-button:hover,
|
||
.is-mobile .document-replace .document-search-button:hover,
|
||
.style-settings-import-label:hover,
|
||
.style-settings-copy:hover,
|
||
.style-settings-download:hover,
|
||
.style-settings-import:hover,
|
||
.style-settings-export:hover,
|
||
.popover.hover-popover>.file-embed.mod-empty:hover {
|
||
border: none;
|
||
background: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlTextHover);
|
||
text-decoration: none;
|
||
}
|
||
}
|
||
|
||
button:not(.clickable-icon):not(.dropdown-menu-item):focus,
|
||
button:not(.clickable-icon).mod-cta:focus,
|
||
.sync-history-load-more-button:focus,
|
||
.empty-state-action:focus,
|
||
.is-mobile .document-search .document-search-button:focus,
|
||
.is-mobile .document-replace .document-search-button:focus,
|
||
.style-settings-import-label:focus,
|
||
.style-settings-copy:focus,
|
||
.style-settings-download:focus,
|
||
.style-settings-import:focus,
|
||
.style-settings-export:focus,
|
||
.popover.hover-popover>.file-embed.mod-empty:focus {
|
||
box-shadow: 0 0 0 3px var(--background-modifier-border-focus);
|
||
}
|
||
|
||
/* Buttons - regular but small */
|
||
button.search-result-file-match-replace-button {
|
||
min-height: auto;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Lightweight buttons */
|
||
.search-result-file-match-destination-file,
|
||
.text-icon-button,
|
||
.query-toolbar .query-toolbar-item.mod-views .text-icon-button {
|
||
border: none;
|
||
box-shadow: var(--theme-shadow-control);
|
||
background-color: var(--theme-color-controlLowWeightBg);
|
||
color: var(--theme-color-controlText);
|
||
font-size: var(--font-ui-smaller);
|
||
line-height: var(--line-height-tight);
|
||
min-height: 1.5rem;
|
||
padding: 0.25em 0.5em;
|
||
}
|
||
|
||
.search-result-file-match-destination-file:focus,
|
||
.text-icon-button:focus,
|
||
.query-toolbar .query-toolbar-item.mod-views .text-icon-button:focus {
|
||
box-shadow: 0 0 0 3px var(--background-modifier-border-focus);
|
||
outline: none;
|
||
}
|
||
|
||
.text-icon-button.is-active {
|
||
color: var(--theme-color-controlActive);
|
||
background-color: var(--theme-color-controlBgActive);
|
||
|
||
.text-button-icon {
|
||
color: var(--theme-color-controlActive);
|
||
background-color: var(--theme-color-controlBgActive);
|
||
}
|
||
}
|
||
|
||
.text-icon-button.has-active-menu {
|
||
color: var(--theme-color-controlHasActiveMenu);
|
||
|
||
.text-button-icon {
|
||
color: var(--theme-color-controlHasActiveMenu);
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.search-result-file-match:hover .search-result-file-match-destination-file:hover,
|
||
.text-icon-button:hover,
|
||
.query-toolbar .query-toolbar-item.mod-views .text-icon-button:hover {
|
||
border: none;
|
||
background-color: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlTextHover);
|
||
|
||
.text-button-icon {
|
||
color: var(--theme-color-controlTextHover);
|
||
}
|
||
}
|
||
|
||
.text-icon-button.is-active:hover,
|
||
.text-icon-button.has-active-menu:hover {
|
||
border: none;
|
||
background-color: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlTextHover);
|
||
|
||
.text-button-icon {
|
||
color: var(--theme-color-controlTextHover);
|
||
}
|
||
}
|
||
|
||
.search-result-file-match:hover .search-result-file-match-destination-file:hover .search-result-file-match-destination-file-icon {
|
||
color: var(--theme-color-controlTextHover);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
/* #region Close buttons */
|
||
|
||
.mod-close,
|
||
.document-search-close-button,
|
||
.workspace-tab-header-inner-close-button,
|
||
.slides-close-btn,
|
||
.clickable-icon.kanban-plugin__search-cancel-button,
|
||
.clickable-icon.kanban-plugin__lane-settings-button[aria-label="Close"],
|
||
.mobile-tab .close-button,
|
||
.bases-toolbar-menu-container-header .close-icon,
|
||
.clickable-icon.document-search-close-button,
|
||
.modal-header-button {
|
||
background-color: transparent;
|
||
border-radius: 100%;
|
||
border: none;
|
||
color: var(--theme-color-control);
|
||
/* Above .modal-title */
|
||
z-index: 2;
|
||
width: var(--theme-length-closeButtonWidth);
|
||
height: var(--theme-length-closeButtonWidth);
|
||
min-width: var(--theme-length-closeButtonWidth);
|
||
min-height: var(--theme-length-closeButtonWidth);
|
||
display: flex;
|
||
flex-shrink: 0;
|
||
align-content: center;
|
||
justify-content: center;
|
||
padding: 0.125em;
|
||
|
||
.svg-icon {
|
||
stroke: var(--theme-color-control);
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.mod-close:hover,
|
||
.document-search-close-button:hover,
|
||
.workspace-tab-header-inner-close-button:hover,
|
||
.workspace-tab-header.is-active .workspace-tab-header-inner-close-button:hover,
|
||
.workspace-tab-header-inner-close-button:hover,
|
||
.slides-close-btn:hover,
|
||
.clickable-icon.kanban-plugin__search-cancel-button:hover,
|
||
.clickable-icon.kanban-plugin__lane-settings-button[aria-label="Close"]:hover,
|
||
.multi-select-pill-remove-button:hover,
|
||
.mobile-tab .close-button:hover,
|
||
.bases-toolbar-menu-container-header .close-icon:hover,
|
||
.clickable-icon.document-search-close-button:hover,
|
||
.modal-header-button:hover {
|
||
color: var(--theme-color-controlHover);
|
||
background-color: var(--theme-color-navigationButtonBgHover);
|
||
|
||
.svg-icon {
|
||
stroke: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* close buttons that use a text cross instead of an SVG */
|
||
.document-search-close-button,
|
||
.is-mobile .document-search .document-search-close-button,
|
||
.is-mobile .document-replace .document-search-close-button {
|
||
padding: var(--size-2-1);
|
||
width: 1.5rem;
|
||
height: 1.5rem;
|
||
display: flex;
|
||
align-content: center;
|
||
--icon-size: var(--icon-s);
|
||
--icon-stroke: var(--icon-s-stroke-width);
|
||
text-align: center;
|
||
justify-content: center;
|
||
line-height: var(--theme-length-closeButtonWidth);
|
||
}
|
||
|
||
.document-search-close-button:before {
|
||
/* This uses a text cross instead of an SVG. Hack for visual alignment. */
|
||
margin-top: -3px;
|
||
line-height: var(--theme-length-closeButtonWidth);
|
||
width: var(--theme-length-closeButtonWidth);
|
||
height: var(--theme-length-closeButtonWidth);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Navigation buttons */
|
||
/* Buttons that don't change the satete of content, just what we're currently looking at. Styled similarly to close buttons. */
|
||
|
||
.modal-setting-back-button-icon,
|
||
.view-header-nav-buttons>.clickable-icon,
|
||
.mod-root .workspace-tab-header-status-icon,
|
||
.mobile-tab .mobile-tab-pin,
|
||
.map-view-graph-controls .minimize-button.svelte-1sl5jax {
|
||
color: var(--theme-color-control);
|
||
border: none;
|
||
border-radius: 100%;
|
||
background-color: transparent;
|
||
/* Above .modal-title */
|
||
z-index: 2;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-content: center;
|
||
flex-wrap: wrap;
|
||
width: 1.5rem;
|
||
height: 1.5rem;
|
||
padding: 0;
|
||
cursor: default;
|
||
|
||
.svg-icon {
|
||
stroke: var(--theme-color-control);
|
||
width: 1rem;
|
||
height: 1rem;
|
||
}
|
||
}
|
||
|
||
.mobile-tab .mobile-tab-pin,
|
||
.map-view-graph-controls .minimize-button.svelte-1sl5jax {
|
||
width: var(--theme-length-closeButtonWidth);
|
||
height: var(--theme-length-closeButtonWidth);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.modal-setting-back-button-icon:hover,
|
||
.view-header-nav-buttons>.clickable-icon:hover,
|
||
.mod-root .workspace-tab-header-status-icon:hover,
|
||
.mobile-tab .mobile-tab-pin:hover,
|
||
.map-view-graph-controls .minimize-button.svelte-1sl5jax:hover {
|
||
color: var(--theme-color-control);
|
||
background-color: var(--theme-color-navigationButtonBgHover);
|
||
|
||
.svg-icon {
|
||
stroke: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
.mod-root .workspace-tab-header-status-icon .svg-icon {
|
||
width: 80%;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
|
||
|
||
/* #region Lightweight form controls */
|
||
/* Form controls that are rendered as text until they have focus */
|
||
|
||
.metadata-property .metadata-property-key input,
|
||
.metadata-property .metadata-property-value {
|
||
border: none;
|
||
border-radius: var(--input-radius);
|
||
box-shadow: none;
|
||
display: flex;
|
||
background: transparent;
|
||
height: 100%;
|
||
padding: 0 0.5em;
|
||
}
|
||
|
||
.metadata-property .metadata-property-value input {
|
||
box-shadow: none;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.metadata-property .metadata-property-key input:hover,
|
||
.metadata-property .metadata-property-value:hover {
|
||
background: var(--background-input);
|
||
}
|
||
}
|
||
|
||
.metadata-property .metadata-property-key input:focus,
|
||
.metadata-property .metadata-property-value:focus-within {
|
||
border: none;
|
||
background: var(--background-input);
|
||
box-shadow: 0 0 0 var(--input-border-width) var(--background-modifier-border-focus);
|
||
color: var(--text-normal);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Text fields */
|
||
|
||
/* This box shadow goes around the disclosure control, we want it to go just around the text. */
|
||
.tree-item-self.is-being-renamed,
|
||
body:not(.is-grabbing) .tree-item-self.has-focus.is-being-renamed,
|
||
body:not(.is-phone) .workspace-leaf.mod-active .tree-item-self.has-focus:focus-within {
|
||
box-shadow: none;
|
||
}
|
||
|
||
.search-input-container {
|
||
padding: var(--input-border-width);
|
||
}
|
||
|
||
.search-input-container input[type="search"],
|
||
input.document-search-input,
|
||
input[type="email"],
|
||
input[type="number"],
|
||
input[type="password"],
|
||
input[type="search"],
|
||
input[type="text"],
|
||
textarea,
|
||
.tree-item-self.is-being-renamed>.tree-item-inner,
|
||
.formula-editor-container {
|
||
box-shadow: 0 0 0 var(--input-border-width) var(--theme-color-base);
|
||
border-radius: var(--radius-s);
|
||
border: none;
|
||
background: var(--background-input);
|
||
color: var(--text-normal);
|
||
}
|
||
|
||
.search-input-container input[type="search"]:active,
|
||
.search-input-container input[type="search"]:focus-visible,
|
||
.search-input-container input[type="search"]:focus,
|
||
input.document-search-input:active,
|
||
input.document-search-input:focus-visible,
|
||
input.document-search-input:focus,
|
||
input[type="email"]:active,
|
||
input[type="email"]:focus-visible,
|
||
input[type="email"]:focus,
|
||
input[type="number"]:active,
|
||
input[type="number"]:focus-visible,
|
||
input[type="number"]:focus,
|
||
input[type="password"]:active,
|
||
input[type="password"]:focus-visible,
|
||
input[type="password"]:focus,
|
||
input[type="search"]:active,
|
||
input[type="search"]:focus-visible,
|
||
input[type="search"]:focus,
|
||
input[type="text"]:active,
|
||
input[type="text"]:focus-visible,
|
||
input[type="text"]:focus,
|
||
textarea:active,
|
||
textarea:focus-visible,
|
||
textarea:focus,
|
||
body:not(.is-grabbing) .tree-item-self.has-focus.is-being-renamed>.tree-item-inner {
|
||
background: var(--background-input);
|
||
border-radius: var(--radius-s);
|
||
box-shadow: 0 0 0 var(--input-border-width) var(--background-modifier-border-focus);
|
||
color: var(--text-normal);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.search-input-container input[type="search"]:hover,
|
||
input.document-search-input:hover,
|
||
input[type="email"]:hover,
|
||
input[type="number"]:hover,
|
||
input[type="password"]:hover,
|
||
input[type="search"]:hover,
|
||
input[type="text"]:hover,
|
||
textarea:hover,
|
||
body:not(.is-grabbing) .tree-item-self.has-focus.is-being-renamed:hover>.tree-item-inner {
|
||
background: var(--background-input);
|
||
border-radius: var(--radius-s);
|
||
box-shadow: 0 0 0 var(--input-border-width) var(--background-modifier-border-focus);
|
||
color: var(--text-normal);
|
||
}
|
||
}
|
||
|
||
textarea {
|
||
padding: 1em;
|
||
}
|
||
|
||
.search-input-container input::placeholder,
|
||
input.document-search-input::placeholder,
|
||
input[type="email"]::placeholder,
|
||
input[type="number"]::placeholder,
|
||
input[type="password"]::placeholder,
|
||
input[type="search"]::placeholder,
|
||
input[type="text"]::placeholder,
|
||
textarea::placeholder {
|
||
color: var(--theme-color-inputPlaceholder);
|
||
}
|
||
|
||
/* No matches state */
|
||
input.document-search-input.mod-no-match,
|
||
input.document-replace-input.mod-no-match {
|
||
background-color: color-mix(in srgb,
|
||
var(--background-input),
|
||
var(--background-modifier-error) 50%);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Selects – regular */
|
||
select,
|
||
.setting-item-control select .dropdown,
|
||
.workspace-drawer-active-tab-header {
|
||
-webkit-appearance: none;
|
||
appearance: none;
|
||
border: none;
|
||
box-shadow: var(--theme-shadow-control);
|
||
background-color: var(--theme-color-controlBg);
|
||
color: var(--theme-color-controlText);
|
||
padding: 0;
|
||
margin: 0 0.5rem;
|
||
|
||
&>option {
|
||
color: var(--theme-color-controlText);
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
select:hover,
|
||
.setting-item-control select:hover,
|
||
.dropdown:hover {
|
||
border: none;
|
||
background-color: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlTextHover);
|
||
}
|
||
}
|
||
|
||
select:focus,
|
||
.dropdown:focus {
|
||
box-shadow: 0 0 0 3px var(--background-modifier-border-focus);
|
||
outline: none;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Selects – lightweight */
|
||
.search-results-info .dropdown {
|
||
border: none;
|
||
box-shadow: var(--theme-shadow-control);
|
||
background-color: var(--theme-color-controlLowWeightBg);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.search-results-info .dropdown:hover {
|
||
border: none;
|
||
background: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlTextHover);
|
||
}
|
||
}
|
||
|
||
.search-results-info .dropdown:focus {
|
||
box-shadow: 0 0 0 3px var(--background-modifier-border-focus);
|
||
outline: none;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region. Flair */
|
||
.flair {
|
||
background-color: var(--flair-background);
|
||
border-radius: var(--radius-s);
|
||
color: var(--flair-color);
|
||
font-size: var(--font-ui-smaller);
|
||
letter-spacing: 0.05em;
|
||
margin-inline-start: 0;
|
||
line-height: 1;
|
||
padding: 0.375em 0.75em;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Multi-select container */
|
||
.multi-select-container,
|
||
.metadata-property .multi-select-container {
|
||
padding: 0.25em;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Toolbars */
|
||
.canvas-controls,
|
||
.graph-controls,
|
||
.graph-controls.is-close,
|
||
.workspace-split:not(.mod-root) .graph-controls.is-close,
|
||
.graph-controls:not(.is-close),
|
||
.canvas-card-menu,
|
||
.canvas-menu,
|
||
.canvas-submenu,
|
||
.advanced-tables-buttons {
|
||
background: var(--theme-color-controlSetBg);
|
||
border: none;
|
||
padding: 0.25rem;
|
||
gap: 0;
|
||
box-shadow: var(--theme-shadow-input);
|
||
border-radius: var(--radius-m);
|
||
width: fit-content;
|
||
}
|
||
|
||
.canvas-control-item,
|
||
.graph-controls-button,
|
||
.canvas-card-menu .canvas-card-menu-button,
|
||
[data-type="advanced-tables-toolbar"] .nav-buttons-container .nav-action-button {
|
||
--icon-size: var(--icon-s);
|
||
--icon-stroke: var(--icon-s-stroke-width);
|
||
border-radius: var(--clickable-icon-radius);
|
||
color: var(--theme-color-control);
|
||
opacity: var(--icon-opacity);
|
||
background-color: transparent;
|
||
border: none;
|
||
}
|
||
|
||
/* Active state */
|
||
.canvas-control-item.has-active-menu {
|
||
opacity: var(--icon-opacity-hover);
|
||
color: var(--theme-color-controlLightweightActive);
|
||
background-color: var(--theme-color-interactiveActive);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.canvas-control-item.has-active-menu:hover {
|
||
background-color: var(--background-modifier-hover);
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
|
||
.canvas-control-item:hover,
|
||
.graph-controls-button:not(.mod-close):hover,
|
||
.canvas-card-menu .canvas-card-menu-button:hover,
|
||
[data-type="advanced-tables-toolbar"] .nav-buttons-container .nav-action-button:hover {
|
||
color: var(--theme-color-controlHover);
|
||
background-color: var(--background-modifier-hover);
|
||
}
|
||
}
|
||
|
||
.graph-controls .setting-item {
|
||
padding: 0.5em 0;
|
||
margin: 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Query Builders */
|
||
.query-toolbar-menu .query-toolbar-section:not(:last-child) {
|
||
border-bottom: none;
|
||
}
|
||
|
||
.bases-query-container .filter-row.mod-group,
|
||
.bases-query-container .filter-group .filter-group {
|
||
background-color: transparent;
|
||
border: none;
|
||
padding: 0;
|
||
margin-inline-start: 1em;
|
||
}
|
||
|
||
.base-toolbar-sort-item,
|
||
.bases-query-container .filter-row {
|
||
background-color: var(--theme-color-queryComponentBg);
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 0.5em;
|
||
border-radius: var(--radius-s);
|
||
|
||
.combobox-button,
|
||
.combobox-button.bases-sort-direction {
|
||
background: transparent;
|
||
border: none;
|
||
border-radius: var(--button-radius);
|
||
padding: 0 1em;
|
||
}
|
||
|
||
.filter-operator {
|
||
border: none;
|
||
}
|
||
|
||
@media(hover: hover) {
|
||
.combobox-button:hover {
|
||
background-color: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlHover);
|
||
|
||
.combobox-button-icon {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Collapsible controls */
|
||
.metadata-properties-heading,
|
||
.embedded-backlinks .backlink-pane .tree-item-self,
|
||
.graph-controls .graph-control-section .tree-item-self,
|
||
body.theme-setting-overrideMapView .map-view-graph-controls .graph-control-div .collapsible label,
|
||
.mod-collapsible,
|
||
.search-result-file-title,
|
||
.style-settings-heading {
|
||
border-radius: var(--radius-s);
|
||
color: var(--text-faint);
|
||
font-size: var(--nav-item-size);
|
||
font-weight: var(--font-medium);
|
||
padding: 0.25em 0.5em 0.25em 0;
|
||
line-height: var(--theme-lineHeight-tight);
|
||
display: flex;
|
||
align-items: center;
|
||
width: 100%;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.metadata-properties-heading:hover,
|
||
.embedded-backlinks .backlink-pane .tree-item-self:hover,
|
||
.graph-controls .graph-control-section .tree-item-self:hover,
|
||
body.theme-setting-overrideMapView .map-view-graph-controls .graph-control-div .collapsible label:hover,
|
||
.mod-collapsible:hover,
|
||
.search-result-file-title:hover,
|
||
.style-settings-heading:hover {
|
||
color: var(--nav-item-color-hover);
|
||
background-color: var(--nav-item-background-hover);
|
||
font-weight: var(--font-medium);
|
||
}
|
||
}
|
||
|
||
.metadata-properties-heading:before {
|
||
/* Override absolute positioning from app, so we're consistent with other collapsibles */
|
||
position: static;
|
||
}
|
||
|
||
.metadata-properties-heading .collapse-indicator,
|
||
.embedded-backlinks .backlink-pane .tree-item-self .collapse-icon,
|
||
.graph-controls .graph-control-section .collapse-icon,
|
||
.tree-item-self .tree-item-icon.collapse-icon {
|
||
color: var(--theme-color-control);
|
||
display: flex;
|
||
left: inherit;
|
||
opacity: var(--icon-opacity);
|
||
padding: 0;
|
||
position: relative;
|
||
margin: 0;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.metadata-properties-heading .metadata-properties-title,
|
||
.embedded-backlinks .backlink-pane .tree-item-self .tree-item-inner,
|
||
.graph-controls .graph-control-section .tree-item-inner {
|
||
font-size: var(--font-ui-smaller);
|
||
font-weight: var(--font-medium);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.metadata-properties-heading:hover .collapse-indicator svg.svg-icon,
|
||
.embedded-backlinks .backlink-pane .tree-item-self:hover .collapse-icon svg.svg-icon,
|
||
.graph-controls .graph-control-section .tree-item-self:hover .collapse-icon svg.svg-icon,
|
||
.mod-collapsible:hover .collapse-icon svg.svg-icon,
|
||
.search-result-file-title:hover .collapse-icon svg.svg-icon,
|
||
.tree-item-self:hover .tree-item-icon.collapse-icon svg.svg-icon,
|
||
.tree-item-self:hover .menu-item-icon svg.svg-icon {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
.backlink-pane>.tree-item-self .collapse-icon,
|
||
.outgoing-link-pane>.tree-item-self .collapse-icon {
|
||
display: block;
|
||
margin-inline-start: 0;
|
||
position: relative;
|
||
}
|
||
|
||
.metadata-properties-heading .collapse-indicator svg,
|
||
.embedded-backlinks .backlink-pane .tree-item-self .tree-item-icon svg,
|
||
.graph-controls .graph-control-section .collapse-icon svg {
|
||
color: var(--theme-color-control);
|
||
}
|
||
|
||
.mod-root .metadata-content,
|
||
.backlink-pane .search-result-container,
|
||
.backlink-pane .search-result-file-matches,
|
||
.outgoing-link-pane .search-result-container,
|
||
.graph-control-section .tree-item-children,
|
||
body.theme-setting-overrideMapView .map-view-graph-controls .graph-control-div .collapsible .contents {
|
||
font-size: var(--font-ui-small);
|
||
padding: 0;
|
||
margin: 0.5em 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Obsidian UI Checkboxes */
|
||
.checkbox-container {
|
||
background-color: var(--background-input);
|
||
}
|
||
|
||
.checkbox-container.is-enabled {
|
||
background-color: var(--interactive-accent);
|
||
}
|
||
|
||
input[type="checkbox"] {
|
||
border: var(--theme-length-checkboxBorderWidth) solid var(--checkbox-border-color);
|
||
}
|
||
|
||
input[type="checkbox"]:checked:after {
|
||
/* Scale check mark with container in slides */
|
||
width: 100%;
|
||
height: 100%;
|
||
top: 0;
|
||
left: 0;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
input[type="checkbox"]:hover {
|
||
background-color: var(--theme-color-controlUIHover);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Obsidian UI Radio buttons */
|
||
input[type="radio"] {
|
||
-webkit-appearance: none;
|
||
appearance: none;
|
||
background-color: var(--background-input);
|
||
border-radius: 100%;
|
||
border: var(--theme-length-checkboxBorderWidth) solid var(--checkbox-border-color);
|
||
box-sizing: border-box;
|
||
color: var(--checkbox-border-color);
|
||
display: inline-grid;
|
||
font: inherit;
|
||
height: 1.15em;
|
||
margin: 0;
|
||
place-content: center;
|
||
transform: translateY(calc(-0.5 * var(--theme-length-checkboxBorderWidth)));
|
||
width: 1.15em;
|
||
}
|
||
|
||
input[type="radio"]::before {
|
||
content: "";
|
||
width: 0.65em;
|
||
height: 0.65em;
|
||
border-radius: 100%;
|
||
transform: scale(0);
|
||
transition: 120ms transform ease-in-out;
|
||
background-color: CanvasText;
|
||
/* Use box-shadow as background-color doesn't print well */
|
||
box-shadow: inset 1em 1em var(--checkbox-color);
|
||
}
|
||
|
||
input[type="radio"]:checked::before {
|
||
transform: scale(1);
|
||
}
|
||
|
||
input[type="radio"]:focus {
|
||
border: var(--theme-length-checkboxBorderWidth) solid var(--background-modifier-border-focus);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
input[type="radio"]:hover {
|
||
background-color: var(--theme-color-controlUIHover);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Item lists */
|
||
.vertical-tab-header-group-title {
|
||
color: var(--text-normal);
|
||
font-size: var(--font-ui-medium);
|
||
}
|
||
|
||
/* Special case for lists of controls */
|
||
.horizontal-tab-nav-item,
|
||
.vertical-tab-nav-item {
|
||
color: var(--theme-color-control);
|
||
border-radius: 0.5em;
|
||
padding: 0.5em 1em;
|
||
|
||
svg {
|
||
color: var(--theme-color-control);
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
body:not(.is-grabbing) .tree-item-self.is-clickable:hover,
|
||
.horizontal-tab-nav-item:hover,
|
||
.vertical-tab-nav-item:hover {
|
||
color: var(--nav-item-color-hover);
|
||
background-color: var(--nav-item-background-hover);
|
||
font-weight: var(--nav-item-weight-hover);
|
||
|
||
svg {
|
||
color: var(--nav-item-color-hover);
|
||
}
|
||
}
|
||
}
|
||
|
||
.horizontal-tab-nav-item.is-active,
|
||
.vertical-tab-nav-item.is-active,
|
||
.nav-file-title.is-active,
|
||
.nav-folder-title.is-active {
|
||
background-color: var(--interactive-accent);
|
||
color: var(--nav-item-color-active);
|
||
|
||
svg {
|
||
color: var(--nav-item-color-active);
|
||
}
|
||
|
||
&.is-being-renamed {
|
||
background: transparent;
|
||
}
|
||
}
|
||
|
||
.nav-folder.is-being-dragged-over {
|
||
animation: 0.5s 1 alternate fadein;
|
||
border-radius: var(--radius-s);
|
||
border: solid 0.125rem var(--theme-color-dragTarget);
|
||
background-color: var(--theme-color-dragTargetBg);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
body:not(.is-grabbing) .tree-item.nav-file .tree-item-self.is-active:hover,
|
||
.horizontal-tab-nav-item.is-active:hover,
|
||
.vertical-tab-nav-item.is-active:hover,
|
||
.nav-file-title.is-active:hover,
|
||
.nav-folder-title.is-active:hover {
|
||
background-color: var(--interactive-accent);
|
||
color: var(--nav-item-color-active);
|
||
}
|
||
}
|
||
|
||
.nav-folder-title {
|
||
font-weight: var(--font-medium);
|
||
}
|
||
|
||
.nav-file-title,
|
||
.nav-folder-title {
|
||
padding: 0;
|
||
}
|
||
|
||
.tree-item-inner {
|
||
padding: var(--nav-item-padding);
|
||
}
|
||
|
||
.nav-file {
|
||
padding-inline-start: var(--size-4-4);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Pills (including tags) */
|
||
.multi-select-pill {
|
||
padding: var(--pill-padding-y) var(--pill-padding-x);
|
||
}
|
||
|
||
.multi-select-pill-remove-button {
|
||
margin: 0;
|
||
border-radius: 100%;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.multi-select-pill-remove-button:hover {
|
||
background: var(--pill-background-remove-hover);
|
||
}
|
||
}
|
||
|
||
.multi-select-pill,
|
||
.metadata-property[data-property-key="tags"] .multi-select-pill {
|
||
--pill-padding-x: 1em;
|
||
--pill-padding-y: 0.25em;
|
||
--tag-padding-x: 1em;
|
||
--tag-padding-y: 0.25em;
|
||
}
|
||
|
||
.metadata-property-value .multi-select-pill,
|
||
.bases-table-cell .multi-select-pill {
|
||
--pill-color: inherit;
|
||
border-radius: var(--tag-radius);
|
||
border: var(--tag-border-width) solid var(--tag-border-color);
|
||
font-weight: var(--tag-weight);
|
||
padding: var(--tag-padding-y) var(--tag-padding-x);
|
||
vertical-align: baseline;
|
||
line-height: var(--line-height-tight);
|
||
}
|
||
|
||
body .metadata-property[data-property-key="tags"] .multi-select-pill-content:before {
|
||
content: "#";
|
||
display: inline;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.cm-hashtag:hover,
|
||
.cm-hashtag-begin:hover+.cm-hashtag-end,
|
||
.cm-hashtag-begin:has(+ .cm-hashtag-end:hover) {
|
||
background-color: var(--theme-color-tagBgHover);
|
||
color: var(--theme-color-tagHover);
|
||
text-decoration: underline;
|
||
text-decoration-color: var(--theme-color-tagHover);
|
||
}
|
||
}
|
||
|
||
/* Tags in sidebar or metadata have adjusted colours because they sit on a different background */
|
||
body .metadata-property[data-property-key="tags"] .multi-select-pill,
|
||
.tag-pane-tag>.tree-item-inner {
|
||
background-color: var(--theme-color-tagBgSidebar);
|
||
color: var(--theme-color-tagSidebar);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
body .metadata-property[data-property-key="tags"] .multi-select-pill:hover,
|
||
.tag-pane-tag>.tree-item-inner:hover {
|
||
background-color: var(--theme-color-tagBgSidebarHover);
|
||
color: var(--theme-color-tagSidebarHover);
|
||
text-decoration: underline;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Tooltips */
|
||
|
||
.tooltip {
|
||
color: var(--theme-color-notice);
|
||
background-color: var(--theme-color-noticeBg);
|
||
padding: 0.5em 1em;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Remote items */
|
||
|
||
.community-modal-search-results-wrapper,
|
||
.vault-list,
|
||
.sync-file-tree-container {
|
||
background: var(--theme-gradient-DarkenedTopToBottom);
|
||
border: 0;
|
||
padding: 1.5em;
|
||
gap: 1.5em;
|
||
}
|
||
|
||
.is-phone .community-modal-search-results-wrapper {
|
||
padding: 1em;
|
||
gap: 1em;
|
||
}
|
||
|
||
.vault-list-item,
|
||
.community-item,
|
||
.sync-file-tree-container>.list-item {
|
||
background: var(--theme-color-communityItemBg);
|
||
border-radius: var(--radius-m);
|
||
border: none;
|
||
box-shadow: var(--shadow-l);
|
||
cursor: var(--cursor);
|
||
padding: var(--size-4-3);
|
||
position: relative;
|
||
}
|
||
|
||
.is-phone .vault-list-item,
|
||
.is-phone .community-item {
|
||
border-radius: var(--radius-m);
|
||
padding: 0.5em 1em;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.sync-file-tree-container>.list-item:hover,
|
||
.community-item:hover {
|
||
background: var(--theme-color-communityItemBgHover);
|
||
color: var(--nav-item-color-hover);
|
||
font-weight: var(--nav-item-weight-hover);
|
||
}
|
||
}
|
||
|
||
.community-modal-search-results {
|
||
padding: 0;
|
||
gap: 1.5em;
|
||
}
|
||
|
||
.is-phone .community-modal-search-results {
|
||
padding: 0;
|
||
gap: 1em;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Properties */
|
||
.workspace>.workspace-split:not(.mod-root) .metadata-container {
|
||
--metadata-divider-width: inherit;
|
||
}
|
||
|
||
.setting-properties-position-below .mod-root .is-live-preview .metadata-container {
|
||
padding: 0.5em 2em 0 2em;
|
||
}
|
||
|
||
.setting-properties-position-below .mod-root .is-live-preview .metadata-container:has(~ .embedded-backlinks[style*="display: none"]) {
|
||
padding-bottom: 0.5em;
|
||
}
|
||
|
||
.view-content .metadata-properties-heading .collapse-indicator svg.svg-icon,
|
||
.view-content .metadata-properties-heading .is-collapsed .collapse-indicator svg.svg-icon {
|
||
color: var(--theme-color-control);
|
||
}
|
||
|
||
.metadata-properties-title {
|
||
font-size: var(--font-ui-smaller);
|
||
color: var(--text-faint);
|
||
font-weight: var(--font-semibold);
|
||
padding: 0;
|
||
user-select: none;
|
||
}
|
||
|
||
.metadata-property {
|
||
background-color: transparent;
|
||
border: none;
|
||
box-shadow: none;
|
||
display: flex;
|
||
gap: 0.5em;
|
||
padding: var(--input-border-width);
|
||
|
||
.metadata-property-key {
|
||
align-items: flex-start;
|
||
display: flex;
|
||
gap: 0.5em;
|
||
}
|
||
}
|
||
|
||
.metadata-property:focus-within {
|
||
background: var(--metadata-property-background-hover);
|
||
border-color: var(--metadata-property-background-hover);
|
||
box-shadow: none;
|
||
}
|
||
|
||
.metadata-property .metadata-property-key:focus-within {
|
||
background: transparent;
|
||
}
|
||
|
||
.metadata-property input.metadata-property-key-input {
|
||
height: var(--input-height);
|
||
color: var(--theme-color-control);
|
||
}
|
||
|
||
.metadata-property .multi-select-input {
|
||
padding: var(--pill-padding-y) 0;
|
||
}
|
||
|
||
.metadata-property-icon:before {
|
||
display: none;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region File lists */
|
||
|
||
/* Styles used by both Files and Recent Files */
|
||
|
||
.nav-file-title {
|
||
justify-content: space-between;
|
||
padding: 0;
|
||
}
|
||
|
||
.nav-file-title-content,
|
||
.nav-folder-title-content {
|
||
flex-grow: 1;
|
||
padding: var(--nav-item-padding);
|
||
}
|
||
|
||
.nav-file-tag {
|
||
background: transparent;
|
||
border: solid 1px var(--nav-file-tag-border-color);
|
||
color: var(--theme-color-navFileTag);
|
||
}
|
||
|
||
.nav-file-title.is-active .nav-file-tag {
|
||
color: var(--theme-color-navFileTagActive);
|
||
border-color: var(--theme-color-navFileTagActiveBorder);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
/* No hover effect for vault title, as clicking doesn't do anything */
|
||
.nav-folder.mod-root>.nav-folder-title:hover {
|
||
color: inherit;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Document search */
|
||
.document-search-container,
|
||
.mod-active .document-search-container,
|
||
.is-mobile .document-search-container,
|
||
.kanban-plugin__search-wrapper {
|
||
animation: 0.5s 1 alternate fadein;
|
||
background: var(--theme-color-controlSetBg);
|
||
border: none;
|
||
border-radius: var(--radius-l);
|
||
box-shadow: var(--shadow-s);
|
||
gap: 0.5em;
|
||
margin: 0 auto;
|
||
padding: 0.5em;
|
||
width: auto;
|
||
}
|
||
|
||
.document-search,
|
||
.document-replace {
|
||
gap: 0.5em;
|
||
padding: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.document-search-button {
|
||
border: none;
|
||
color: var(--theme-color-control);
|
||
}
|
||
|
||
.document-search-close-button,
|
||
.is-mobile .document-search .document-search-close-button,
|
||
.is-mobile .document-replace .document-search-close-button {
|
||
top: calc(50% - 0.5em);
|
||
}
|
||
|
||
/* Close button on left for macOS */
|
||
.mod-macos .document-search-container {
|
||
.document-search {
|
||
.document-search-close-button {
|
||
order: 0;
|
||
}
|
||
|
||
.document-search-input {
|
||
order: 1;
|
||
}
|
||
|
||
.document-search-buttons {
|
||
order: 2;
|
||
}
|
||
}
|
||
|
||
.document-replace {
|
||
padding-left: calc(var(--theme-length-closeButtonWidth) + 0.5em);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
/* #region Modals */
|
||
|
||
/* #region Default modal appearance */
|
||
.modal-container {
|
||
padding-top: var(--safe-area-inset-top);
|
||
padding-inline-end: var(--safe-area-inset-right);
|
||
padding-bottom: var(--safe-area-inset-bottom);
|
||
padding-inline-start: var(--safe-area-inset-left);
|
||
}
|
||
|
||
.modal {
|
||
padding: 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.modal-title {
|
||
/* Space for modal-close-button in line with title */
|
||
padding: 0.5em calc(var(--size-2-3) + 2rem);
|
||
/* Align with top position for modal-close-button */
|
||
margin-top: 0;
|
||
margin-bottom: 0;
|
||
font-size: var(--font-ui-medium);
|
||
line-height: 1.4em;
|
||
}
|
||
|
||
.modal-bg,
|
||
.modal,
|
||
.prompt {
|
||
animation: 0.5s 1 alternate fadein;
|
||
animation-timing-function: ease-in-out;
|
||
}
|
||
|
||
.modal-content {
|
||
margin: 0 0;
|
||
/* Allow space for input borders */
|
||
padding: var(--input-border-width) 2em;
|
||
overflow: auto;
|
||
}
|
||
|
||
.modal-header:has(.modal-title:empty) {
|
||
/* The built-in styles always apply a bottom margin */
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.modal-header-button,
|
||
.modal-close-button {
|
||
position: absolute;
|
||
top: 0.5rem;
|
||
inset-inline-end: 0.5rem;
|
||
z-index: 10;
|
||
}
|
||
|
||
.modal-content p {
|
||
margin: 0 0 0.5em;
|
||
}
|
||
|
||
.modal-content p:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.modal-content>hr {
|
||
/* Used in the Manage Workspaces modal, but there's currently no way to target that. */
|
||
border: none;
|
||
margin: 1em 0;
|
||
}
|
||
|
||
.modal-button-container {
|
||
margin-top: 0;
|
||
padding: 1em 2rem;
|
||
}
|
||
|
||
.modal-content:has(.modal-button-container),
|
||
.modal-content:has(.button-container) {
|
||
/* Sometimes the .modal-button-container is nested inside the .modal-content */
|
||
overflow: scroll;
|
||
background-color: var(--theme-color-modalContentBg);
|
||
padding: 1em 2em;
|
||
}
|
||
|
||
.modal-content .modal-button-container {
|
||
padding: 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Modals with sidebar layout */
|
||
.mod-sidebar-layout .modal-content {
|
||
padding: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
.modal-sidebar,
|
||
.modal.mod-settings .vertical-tab-header {
|
||
border-inline-end: none;
|
||
padding: 0;
|
||
margin: 0;
|
||
background: var(--theme-gradient-topToBottom);
|
||
color: var(--theme-color-control);
|
||
height: 100%;
|
||
box-shadow: var(--shadow-s);
|
||
z-index: 1;
|
||
}
|
||
|
||
.modal-setting-nav-bar {
|
||
margin-inline-start: 0.5rem;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Prompts */
|
||
.modal-container {
|
||
padding-top: var(--safe-area-inset-top);
|
||
padding-inline-end: var(--safe-area-inset-right);
|
||
padding-bottom: var(--safe-area-inset-bottom);
|
||
padding-inline-start: var(--safe-area-inset-left);
|
||
}
|
||
|
||
.modal {
|
||
padding: 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.modal-title {
|
||
/* Space for modal-close-button in line with title */
|
||
padding: 0.5em calc(var(--size-2-3) + 2rem);
|
||
/* Align with top position for modal-close-button */
|
||
margin-top: 0;
|
||
margin-bottom: 0;
|
||
font-size: var(--font-ui-medium);
|
||
line-height: 1.4em;
|
||
}
|
||
|
||
.modal-bg,
|
||
.modal,
|
||
.prompt {
|
||
animation: 0.5s 1 alternate fadein;
|
||
animation-timing-function: ease-in-out;
|
||
}
|
||
|
||
.modal-content {
|
||
margin: 0 0;
|
||
/* Allow space for input borders */
|
||
padding: var(--input-border-width) 2em;
|
||
overflow: auto;
|
||
}
|
||
|
||
.modal-header:has(.modal-title:empty) {
|
||
/* The built-in styles always apply a bottom margin */
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.modal-content p {
|
||
margin: 0 0 0.5em;
|
||
}
|
||
|
||
.modal-content p:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.modal-content>hr {
|
||
/* Used in the Manage Workspaces modal, but there's currently no way to target that. */
|
||
border: none;
|
||
margin: 1em 0;
|
||
}
|
||
|
||
.modal-button-container {
|
||
margin-top: 0;
|
||
padding: 1em 2rem;
|
||
}
|
||
|
||
.modal-content:has(.modal-button-container),
|
||
.modal-content:has(.button-container) {
|
||
/* Sometimes the .modal-button-container is nested inside the .modal-content */
|
||
overflow: scroll;
|
||
background-color: var(--theme-color-modalContentBg);
|
||
padding: 1em 2em;
|
||
}
|
||
|
||
.modal-content .modal-button-container {
|
||
padding: 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community modals */
|
||
.mod-community-modal {
|
||
.modal-sidebar {
|
||
padding: 0;
|
||
}
|
||
|
||
.community-modal-controls {
|
||
background: var(--theme-color-settingsBg);
|
||
padding: 1em 1.5em 1em 1.5em;
|
||
box-shadow: var(--shadow-s);
|
||
z-index: 1;
|
||
}
|
||
|
||
.modal-close-button {
|
||
z-index: 2;
|
||
}
|
||
|
||
.modal-sidebar .setting-item:not(.setting-item-heading),
|
||
.community-modal-controls .setting-item {
|
||
padding: 0;
|
||
margin-bottom: 0.5em;
|
||
}
|
||
|
||
.modal-sidebar .setting-item-name {
|
||
padding-inline-start: 0;
|
||
}
|
||
|
||
.community-modal-controls .setting-item:first-child .setting-item-control {
|
||
margin: 0;
|
||
}
|
||
|
||
.modal-content:has(.community-modal-details) .community-modal-controls .setting-item:first-child {
|
||
float: none;
|
||
}
|
||
}
|
||
|
||
.mod-community-modal:not(:has(.community-modal-details)) .community-modal-controls .setting-item:first-child {
|
||
/* Filter control */
|
||
max-width: 60%;
|
||
margin-bottom: 0.5em;
|
||
padding-inline-start: 2em;
|
||
float: inline-end;
|
||
}
|
||
|
||
.community-modal-search-summary {
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.community-modal-details {
|
||
border: none;
|
||
}
|
||
|
||
.community-item {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: var(--size-2-1);
|
||
padding: 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.community-item.is-selected {
|
||
background: var(--theme-color-communityItemBgSelected);
|
||
}
|
||
|
||
.community-item.is-selected .flair.mod-pop,
|
||
.community-item.mod-active .flair.mod-pop {
|
||
display: none;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.community-item.is-selected:hover .flair.mod-pop,
|
||
.community-item.mod-active:hover .flair.mod-pop {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
.community-item-name,
|
||
.community-item-author,
|
||
.community-item-repo,
|
||
.community-item-downloads,
|
||
.community-item-updated,
|
||
.community-item-desc,
|
||
.community-modal-info-downloads-text,
|
||
.community-modal-info-author,
|
||
.community-modal-info-repo {
|
||
color: var(--text-normal);
|
||
padding: 0 1rem;
|
||
}
|
||
|
||
.community-item-name {
|
||
font-weight: var(--font-semibold);
|
||
padding-top: 0.5em;
|
||
padding-bottom: 0.5em;
|
||
}
|
||
|
||
.community-item .flair {
|
||
--flair-background: inherit;
|
||
--flair-color: inherit;
|
||
float: right;
|
||
margin-right: -0.5rem;
|
||
}
|
||
|
||
.community-item-desc {
|
||
padding-bottom: 1rem;
|
||
}
|
||
|
||
.community-item-author,
|
||
.community-item-repo,
|
||
.community-item-downloads,
|
||
.community-item-updated,
|
||
.community-modal-info-downloads-text,
|
||
.community-modal-info-author,
|
||
.community-modal-info-repo {
|
||
font-size: var(--font-ui-small);
|
||
}
|
||
|
||
.community-item.is-selected {
|
||
color: var(--text-on-accent);
|
||
|
||
.community-item-name,
|
||
.community-item-author,
|
||
.community-item-repo,
|
||
.community-item-downloads,
|
||
.community-item-updated {
|
||
color: var(--text-on-accent);
|
||
}
|
||
}
|
||
|
||
.community-item.mod-active {
|
||
background: var(--theme-color-communityItemBgActive);
|
||
}
|
||
|
||
.community-item.mod-active .community-item-name,
|
||
.community-item.mod-active .community-item-author,
|
||
.community-item.mod-active .community-item-repo,
|
||
.community-item.mod-active .community-item-downloads,
|
||
.community-item.mod-active .community-item-updated {
|
||
color: var(--text-on-accent);
|
||
opacity: 0.8;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.community-item:hover {
|
||
color: var(--text-on-accent);
|
||
}
|
||
|
||
.community-item:hover .community-item-name,
|
||
.community-item:hover .community-item-author,
|
||
.community-item:hover .community-item-repo,
|
||
.community-item:hover .community-item-downloads,
|
||
.community-item:hover .community-item-updated {
|
||
opacity: 0.8;
|
||
}
|
||
|
||
.community-item.is-selected:hover {
|
||
background: var(--theme-color-communityItemBgSelected);
|
||
}
|
||
|
||
.community-item.is-selected:hover,
|
||
.community-item.is-selected:hover .community-item-name,
|
||
.community-item.is-selected:hover .community-item-author,
|
||
.community-item.is-selected:hover .community-item-repo,
|
||
.community-item.is-selected:hover .community-item-downloads,
|
||
.community-item.is-selected:hover .community-item-updated {
|
||
color: var(--text-on-accent);
|
||
}
|
||
|
||
.community-item.mod-active:hover .community-item-name,
|
||
.community-item.mod-active:hover .community-item-author,
|
||
.community-item.mod-active:hover .community-item-repo,
|
||
.community-item.mod-active:hover .community-item-downloads,
|
||
.community-item.mod-active:hover .community-item-updated {
|
||
color: var(--text-on-accent);
|
||
opacity: 0.8;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
|
||
/* #region Help modal */
|
||
.modal.mod-canvas-help .modal-content {
|
||
height: 100%;
|
||
overflow: scroll;
|
||
padding-inline-end: 1em;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Settings modal */
|
||
.modal.mod-settings {
|
||
.vertical-tab-header-group {
|
||
border-inline-end: none;
|
||
padding: 0 0 1.5em 0;
|
||
}
|
||
|
||
.vertical-tab-header-group-title {
|
||
padding: 0 0.5em 0.5em 0.5em;
|
||
}
|
||
|
||
.vertical-tab-content {
|
||
background: var(--theme-color-settingsBg);
|
||
padding: 2em;
|
||
}
|
||
|
||
.vertical-tab-header {
|
||
.setting-search-container {
|
||
padding: 0.5rem 1rem 0.5rem 0.5rem;
|
||
}
|
||
}
|
||
}
|
||
|
||
.modal-setting-nav-bar {
|
||
border: none;
|
||
padding: 0.5em 0 0 0;
|
||
}
|
||
|
||
.setting-item {
|
||
/* Also used when editing bookmarks */
|
||
border-top: none;
|
||
padding: 0;
|
||
margin-bottom: 1.5em;
|
||
}
|
||
|
||
.setting-group {
|
||
.setting-item {
|
||
/* Also used when editing bookmarks */
|
||
border-top: none;
|
||
|
||
.search-input-container {
|
||
padding: var(--input-border-width);
|
||
}
|
||
}
|
||
|
||
.setting-item:not(.setting-item-heading)::before {
|
||
border: none;
|
||
}
|
||
|
||
.setting-items {
|
||
margin-bottom: 4em;
|
||
}
|
||
|
||
.setting-group-search {
|
||
margin-bottom: 4em;
|
||
}
|
||
}
|
||
|
||
.setting-item-name {
|
||
font-size: var(--font-ui-medium);
|
||
}
|
||
|
||
.setting-item-description {
|
||
font-size: var(--font-ui-small);
|
||
}
|
||
|
||
.vertical-tab-nav-item-icon {
|
||
display: none;
|
||
}
|
||
|
||
body.theme-setting-enableIconsInSettings {
|
||
.vertical-tab-nav-item-icon {
|
||
display: flex;
|
||
}
|
||
}
|
||
|
||
.setting-page-titlebar {
|
||
background-color: transparent;
|
||
box-shadow: var(--shadow-s);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Font settings modal */
|
||
.setting-font-list+.setting-item {
|
||
border: none;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Debug modal */
|
||
.modal-content:has(.modal-button-container):has(.debug-textarea) {
|
||
/* Show shadow below buttons */
|
||
overflow: visible;
|
||
padding: var(--input-border-width);
|
||
margin-bottom: 2.5rem;
|
||
}
|
||
|
||
.debug-textarea {
|
||
margin: 0;
|
||
border-radius: 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
|
||
/* #region Helper Classes */
|
||
/* #region List Cards */
|
||
.list-cards.markdown-preview-view .el-ul {
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-left);
|
||
border-radius: var(--radius-m);
|
||
border-inline-end: var(--embed-border-right);
|
||
border-top: var(--embed-border-top);
|
||
margin: 0;
|
||
background: var(--theme-gradient-cardSet);
|
||
border: 0;
|
||
padding: 1.5em;
|
||
gap: 1.5em;
|
||
}
|
||
|
||
.list-cards.markdown-preview-view .el-ul>ul {
|
||
display: grid;
|
||
padding: 0;
|
||
line-height: var(--line-height-tight);
|
||
grid-template-columns: var(--theme-grid-cardSet);
|
||
grid-gap: 1em;
|
||
margin-block-start: 0;
|
||
--list-indent: 1em;
|
||
}
|
||
|
||
.list-cards.markdown-preview-view .el-ul>ul>li {
|
||
overflow: hidden;
|
||
margin-inline-start: 0;
|
||
background-color: var(--theme-color-cardBg);
|
||
border-radius: var(--radius-m);
|
||
border: none;
|
||
box-shadow: var(--shadow-s);
|
||
cursor: var(--cursor);
|
||
padding: 0 0.75em 0 0.75em;
|
||
position: relative;
|
||
}
|
||
|
||
.list-cards.markdown-preview-view .el-ul>ul>li>img {
|
||
margin-inline-start: -0.75em;
|
||
margin-inline-end: -0.75em;
|
||
width: calc(100% + 2 * 0.75em);
|
||
max-width: calc(100% + 2 * 0.75em);
|
||
display: block;
|
||
}
|
||
|
||
.list-cards.markdown-preview-view .el-ul>ul>li>.list-bullet,
|
||
.list-cards.markdown-preview-view .el-ul>ul>li>.list-collapse-indicator,
|
||
.list-cards.markdown-preview-view.markdown-rendered.show-indentation-guide .el-ul>ul::before {
|
||
display: none;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
|
||
/* #region Core plugins */
|
||
/* #region Core Plugin: Audio Recorder */
|
||
/* See also Embeds for the resulting embedded audio */
|
||
|
||
.side-dock-actions .side-dock-ribbon-action.clickable-icon.is-active:has(svg.svg-icon.lucide-mic) {
|
||
animation: pulse-animation 2s infinite;
|
||
animation-timing-function: ease-in-out;
|
||
}
|
||
|
||
.side-dock-actions .side-dock-ribbon-action.clickable-icon.is-active:before {
|
||
content: "REC";
|
||
font-size: 0.8em;
|
||
color: var(--theme-color-audioRecordingActive);
|
||
}
|
||
|
||
.side-dock-actions .side-dock-ribbon-action.clickable-icon.is-active svg {
|
||
display: none;
|
||
}
|
||
|
||
@keyframes pulse-animation {
|
||
0% {
|
||
box-shadow: 0 0 0 0em var(--theme-color-redTransparent25);
|
||
}
|
||
|
||
50% {
|
||
box-shadow: 0 0 0 0.25em var(--theme-color-redTransparent75);
|
||
}
|
||
|
||
100% {
|
||
box-shadow: 0 0 0 0em var(--theme-color-);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Backlinks */
|
||
|
||
.backlink-pane>.tree-item-self,
|
||
.outgoing-link-pane>.tree-item-self {
|
||
color: var(--theme-color-control);
|
||
width: inherit;
|
||
padding: 0.25em 0.5em 0.25em 0;
|
||
}
|
||
|
||
.backlink-pane .tree-item-self .tree-item-inner,
|
||
.outgoing-link-pane .tree-item-self .tree-item-inner {
|
||
padding-inline-start: 0;
|
||
}
|
||
|
||
.backlink-pane .search-result:not(.is-collapsed) .search-result-file-title {
|
||
color: var(--theme-color-control);
|
||
}
|
||
|
||
.backlink-pane .search-result-container {
|
||
margin-inline-start: 1em;
|
||
}
|
||
|
||
.search-result-file-match-replace-button {
|
||
bottom: 0.375em;
|
||
}
|
||
|
||
.embedded-backlinks .backlink-pane .search-result-file-matches {
|
||
background: none;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.embedded-backlinks {
|
||
/* Terrible to use !important, but otherwise this gets an inline style enforcing a min height that can leave lots of unused space at the bottom. */
|
||
min-height: 0 !important;
|
||
}
|
||
|
||
.setting-properties-position-below .mod-root .is-live-preview .metadata-container[data-property-count="0"]~.embedded-backlinks {
|
||
padding-top: 0.5rem;
|
||
}
|
||
|
||
.embedded-backlinks .backlink-pane {
|
||
padding: 0;
|
||
}
|
||
|
||
.embedded-backlinks .backlink-pane .tree-item-self .tree-item-flair-outer {
|
||
/* Normally this would be positioned ot the right, but for embedded backlinks this overlaps with the controls */
|
||
margin-inline-start: 1em;
|
||
}
|
||
|
||
.embedded-backlinks .nav-buttons-container {
|
||
top: 0;
|
||
right: 0;
|
||
}
|
||
|
||
.embedded-backlinks .nav-header {
|
||
container-type: inline-size;
|
||
container-name: embedded-links-nav-header;
|
||
}
|
||
|
||
.embedded-backlinks .nav-buttons-container {
|
||
/* On small screens, put .nav-buttons-container on its own row so it doesn't overlap the links */
|
||
position: relative;
|
||
}
|
||
|
||
@container embedded-links-nav-header (min-width: 20rem) {
|
||
.embedded-backlinks .nav-buttons-container {
|
||
position: absolute;
|
||
}
|
||
}
|
||
|
||
.embedded-backlinks .backlink-pane .search-result-file-title .tree-item-icon {
|
||
position: relative;
|
||
padding: 0;
|
||
margin-inline-start: 0;
|
||
left: inherit;
|
||
}
|
||
|
||
.embedded-backlinks .backlink-pane .search-result-file-matches {
|
||
margin-inline-start: 1em;
|
||
}
|
||
|
||
.embedded-backlinks .backlink-pane .search-empty-state {
|
||
margin: 0;
|
||
}
|
||
|
||
.embedded-backlinks .nav-header~.search-input-container {
|
||
width: calc(100% - 150px);
|
||
margin: 0 0 0 0;
|
||
}
|
||
|
||
.embedded-backlinks .backlink-pane>.tree-item-self {
|
||
width: inherit;
|
||
}
|
||
|
||
/* stick backlinks in document to bottom */
|
||
body.theme-setting-stickyEmbeddedLinks-on .cm-sizer>.embedded-backlinks,
|
||
body.theme-setting-stickyEmbeddedLinks-on .mod-footer:has(> .embedded-backlinks) {
|
||
position: sticky;
|
||
bottom: 0;
|
||
width: 100%;
|
||
overflow-y: visible;
|
||
|
||
&>.backlink-pane,
|
||
&>.embedded-backlinks>.backlink-pane {
|
||
overflow-y: scroll;
|
||
|
||
&::-webkit-scrollbar {
|
||
width: 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
body.theme-setting-stickyEmbeddedLinks-on .markdown-source-view.mod-cm6 .cm-scroller {
|
||
overflow-y: scroll;
|
||
flex-grow: 0;
|
||
flex-shrink: 1;
|
||
flex-basis: 100%;
|
||
}
|
||
|
||
body.theme-setting-stickyEmbeddedLinks-on .setting-properties-position-below .mod-root .is-live-preview .metadata-container {
|
||
position: sticky;
|
||
bottom: 0;
|
||
overflow-y: visible;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Bases */
|
||
/* #region All bases */
|
||
.body,
|
||
.workspace-leaf-content[data-type="bases"] {
|
||
--bases-header-height: auto;
|
||
--bases-table-header-background: var(--theme-color-tabNavActiveBg);
|
||
--bases-view-padding-bottom: 0;
|
||
--bases-cards-container-background: transparent;
|
||
--bases-cards-group-padding: 0.5em 0.5em;
|
||
--bases-embed-border-width: 0;
|
||
|
||
.bases-header {
|
||
--bases-header-padding-start: 0.5em;
|
||
--bases-header-padding-end: 0.5em;
|
||
}
|
||
}
|
||
|
||
body {
|
||
--bases-header-padding-start: 0.5em;
|
||
--bases-header-padding-end: 0.5em;
|
||
}
|
||
|
||
.bases-view[data-view-type="table"] {
|
||
--bases-embed-border-width: 0;
|
||
}
|
||
|
||
.bases-view {
|
||
scrollbar-gutter: auto;
|
||
scrollbar-color: var(--theme-color-baseTransparent25) var(--bases-table-header-background);
|
||
}
|
||
|
||
.block-language-base {
|
||
background-color: var(--embed-background);
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-left);
|
||
border-radius: var(--radius-m);
|
||
border-inline-end: var(--embed-border-right);
|
||
border-top: var(--embed-border-top);
|
||
margin: 0;
|
||
}
|
||
|
||
.markdown-source-view.mod-cm6 .cm-content>.bases-embed[contenteditable=false] {
|
||
contain: layout !important;
|
||
}
|
||
|
||
.bases-header {
|
||
.query-toolbar .query-toolbar-item.mod-views {
|
||
overflow: visible;
|
||
flex-wrap: wrap;
|
||
}
|
||
}
|
||
|
||
.bases-thead {
|
||
box-shadow: var(--theme-shadow-indent);
|
||
border-radius: var(--tab-radius-active) var(--tab-radius-active) 0 0;
|
||
|
||
.bases-td {
|
||
box-shadow: none;
|
||
border-radius: var(--tab-radius-active) var(--tab-radius-active) 0 0;
|
||
}
|
||
}
|
||
|
||
.bases-tbody {
|
||
box-shadow: none;
|
||
|
||
.bases-tr {
|
||
box-shadow: none;
|
||
|
||
&:nth-child(odd) .bases-table-cell {
|
||
background-color: var(--theme-color-baseTransparent06);
|
||
}
|
||
|
||
.bases-table-cell[disabled="true"] {
|
||
background: var(--theme-color-tabNavActiveBg);
|
||
}
|
||
}
|
||
|
||
.bases-td:focus-within .bases-table-cell {
|
||
box-shadow: 0 0 0 var(--input-border-width) var(--theme-color-base);
|
||
border-radius: var(--radius-s);
|
||
border: none;
|
||
background-color: var(--background-input);
|
||
color: var(--text-normal);
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.bases-thead .bases-td:hover {
|
||
--bases-table-header-color: white;
|
||
|
||
.bases-table-header-label,
|
||
.bases-table-header-sort {
|
||
color: var(--bases-table-header-color);
|
||
}
|
||
|
||
background-color: var(--bases-table-header-background-hover);
|
||
}
|
||
}
|
||
|
||
/* Checkboxes styled like markdown */
|
||
.bases-tbody .metadata-input-checkbox {
|
||
border-radius: var(--checkbox-radius);
|
||
border-color: var(--theme-color-controlContentArea);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.bases-tbody .metadata-input-checkbox:hover {
|
||
border-color: var(--theme-color-controlContentArea);
|
||
background-color: var(--theme-color-controlContentAreaHover);
|
||
}
|
||
}
|
||
|
||
.bases-toolbar-menu-container .search-input-container {
|
||
--search-icon-color: var(--theme-color-base);
|
||
border-bottom: none;
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.bases-toolbar-menu-container-header .close-icon {
|
||
align-self: center;
|
||
}
|
||
|
||
.mod-macos .bases-toolbar-menu-container-header .close-icon {
|
||
order: -1;
|
||
}
|
||
|
||
.bases-query-container {
|
||
.filter-group {
|
||
.filter-row {
|
||
.conjunction {
|
||
min-width: 4.5em;
|
||
}
|
||
}
|
||
|
||
.filter-group-actions {
|
||
display: flex;
|
||
gap: 0.5em;
|
||
}
|
||
}
|
||
|
||
.filter-expression {
|
||
background: inherit;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.filter-expression:hover {
|
||
--metadata-divider-color: var(--metadata-divider-color-hover);
|
||
background-color: var(--metadata-property-background-hover);
|
||
box-shadow: var(--metadata-property-box-shadow-hover);
|
||
border-radius: var(--metadata-property-radius-hover);
|
||
}
|
||
}
|
||
}
|
||
|
||
.bases-sort-container .bases-sort-items {
|
||
gap: 0.5em;
|
||
}
|
||
|
||
.bases-toolbar-menu-item.is-selected {
|
||
background-color: var(--theme-color-controlBgActive);
|
||
color: var(--theme-color-controlActive);
|
||
|
||
.bases-toolbar-menu-item-info-icon,
|
||
.bases-toolbar-menu-item-icon {
|
||
color: var(--theme-color-controlActive);
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.bases-sort-property-container:hover {
|
||
background: transparent;
|
||
}
|
||
|
||
.bases-toolbar-menu-container-header .back-button:hover {
|
||
background-color: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlHover);
|
||
|
||
.back-icon {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
.bases-toolbar-menu-item:hover {
|
||
background-color: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlHover);
|
||
|
||
.bases-toolbar-menu-item-info-icon,
|
||
.bases-toolbar-menu-item-icon {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
.bases-toolbar-menu-form .input-row .help-icon {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
.query-toolbar-menu.mod-filters {
|
||
.menu-scroll {
|
||
display: flex;
|
||
gap: 0.5em;
|
||
}
|
||
|
||
.query-toolbar-section-header {
|
||
--flair-background: inherit;
|
||
--flair-color: inherit;
|
||
}
|
||
|
||
@media(hover: hover) {
|
||
.query-toolbar-section-header:hover {
|
||
color: var(--nav-item-color-hover);
|
||
background-color: var(--nav-item-background-hover);
|
||
border-radius: var(--radius-s);
|
||
font-weight: var(--nav-item-weight-hover);
|
||
|
||
.collapse-icon svg {
|
||
color: var(--nav-item-color-hover);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Table View */
|
||
.bases-view[data-view-type="table"] {
|
||
background-color: var(--background-primary);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Card View */
|
||
.bases-cards-container {
|
||
padding-inline-start: var(--bases-header-padding-start);
|
||
padding-inline-end: var(--bases-header-padding-end);
|
||
}
|
||
|
||
.bases-cards-item {
|
||
color: var(--theme-color-card);
|
||
background-color: var(--theme-color-cardBg);
|
||
border-radius: var(--radius-m);
|
||
border: none;
|
||
box-shadow: var(--shadow-s);
|
||
padding: 0 0 0.5em;
|
||
|
||
.mod-title {
|
||
padding: 0.5em 0;
|
||
}
|
||
|
||
.bases-cards-label,
|
||
.bases-cards-line,
|
||
.bases-cards-line:empty:before {
|
||
color: var(--theme-color-card);
|
||
}
|
||
}
|
||
|
||
.bases-cards-label {
|
||
color: var(--theme-color-card);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.bases-cards-item:hover {
|
||
color: var(--theme-color-cardHover);
|
||
background-color: var(--theme-color-cardBgHover);
|
||
|
||
.bases-cards-label,
|
||
.bases-cards-line,
|
||
.bases-cards-line input,
|
||
.bases-cards-line:empty:before {
|
||
color: var(--theme-color-cardHover);
|
||
}
|
||
|
||
.bases-cards-cover {
|
||
mix-blend-mode: screen;
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Bases in the centre panel */
|
||
.workspace-leaf-content[data-type="bases"] {
|
||
.view-header {
|
||
border-bottom: none;
|
||
}
|
||
|
||
.bases-header {
|
||
background-color: var(--theme-color-tabNavActiveBg);
|
||
border-bottom: none;
|
||
padding-top: 0;
|
||
padding-bottom: 0.5em;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Bases in a sidebar panel */
|
||
.mod-sidedock .workspace-leaf-content[data-type="bases"] {
|
||
--bases-cards-group-padding: 0 0;
|
||
|
||
.bases-view {
|
||
background-color: transparent;
|
||
font-size: var(--font-ui-small);
|
||
}
|
||
|
||
.bases-header {
|
||
background-color: transparent;
|
||
}
|
||
|
||
.bases-tbody {
|
||
background-color: var(--background-primary);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Embedded bases */
|
||
.markdown-source-view.mod-cm6 .cm-content>.bases-embed,
|
||
.markdown-source-view.mod-cm6 .cm-content>.cm-lang-base {
|
||
--bases-header-padding-end: inherit;
|
||
}
|
||
|
||
.bases-embed {
|
||
padding: 0.5em 0 0.5em 0;
|
||
|
||
.bases-view,
|
||
.bases-thead {
|
||
background-color: transparent;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
/* #region Core Plugin: Bookmarks */
|
||
|
||
.view-action.mod-bookmark {
|
||
--icon-color: transparent;
|
||
color: var(--theme-color-control);
|
||
}
|
||
|
||
.view-action.mod-bookmark:hover {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Canvas */
|
||
body {
|
||
--embed-border-start: none;
|
||
--embed-border-end: none;
|
||
--embed-border-top: none;
|
||
--embed-border-bottom: none;
|
||
}
|
||
|
||
.canvas-submenu {
|
||
background: var(--theme-color-interactiveActive);
|
||
top: calc(100% - 0.5em);
|
||
box-shadow: none;
|
||
}
|
||
|
||
.canvas-card-menu {
|
||
bottom: var(--theme-length-controlSetSpacing);
|
||
|
||
.canvas-card-menu-button.mod-draggable:hover svg {
|
||
transform: translateY(0);
|
||
filter: none;
|
||
}
|
||
}
|
||
|
||
.canvas-controls {
|
||
gap: 0.5em;
|
||
right: var(--theme-length-controlSetSpacing);
|
||
top: var(--theme-length-controlSetSpacing);
|
||
}
|
||
|
||
.canvas-control-group {
|
||
background: transparent;
|
||
border: none;
|
||
box-shadow: none;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
/* The normal hover colour doesn't work with these icons that have a fill colour */
|
||
.canvas-card-menu .canvas-card-menu-button:hover {
|
||
color: var(--theme-color-control);
|
||
}
|
||
}
|
||
|
||
.canvas-node-content,
|
||
.canvas-node-content.markdown-embed {
|
||
background-color: var(--background-primary);
|
||
border-top: var(--embed-border-top);
|
||
border-inline-end: var(--embed-border-end);
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-start);
|
||
border-radius: var(--radius-m);
|
||
}
|
||
|
||
.canvas-node-container {
|
||
border: 0.25rem solid var(--theme-color-baseTransparent50)
|
||
}
|
||
|
||
.canvas-node.is-selected .canvas-node-container,
|
||
.canvas-node.is-focused .canvas-node-container {
|
||
border-color: var(--theme-color-base);
|
||
box-shadow: var(--shadow-stationary), 0 0 0 2px var(--themne-color-base);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Command Palette */
|
||
/* No special styles: uses shared .prompt */
|
||
/* #endregion */
|
||
/* #region Core Plugin: Files */
|
||
|
||
.workspace-leaf-content[data-type="file-explorer"] {
|
||
.nav-header {
|
||
.nav-buttons-container {
|
||
gap: 0.25em;
|
||
|
||
/* Insert an element to force a line break in the flexbox, separating the first two controls from the others. */
|
||
.nav-action-button:has(.svg-icon.lucide-edit),
|
||
.nav-action-button:has(.svg-icon.lucide-folder-plus) {
|
||
order: 0;
|
||
}
|
||
|
||
/* Style first two controls that will create items as lightweight buttons */
|
||
.nav-action-button:has(.svg-icon.lucide-edit),
|
||
.nav-action-button:has(.svg-icon.lucide-folder-plus) {
|
||
border: none;
|
||
box-shadow: var(--theme-shadow-control);
|
||
background-color: var(--theme-color-controlLowWeightBg);
|
||
color: var(--theme-color-controlText);
|
||
font-size: var(--font-ui-smaller);
|
||
line-height: var(--line-height-tight);
|
||
min-height: 1.5rem;
|
||
padding: 0.25em 0.5em;
|
||
display: flex;
|
||
gap: 0.5em;
|
||
|
||
&:after {
|
||
content: attr(aria-label);
|
||
}
|
||
}
|
||
|
||
&:after {
|
||
order: 1;
|
||
content: "";
|
||
width: 100%
|
||
}
|
||
|
||
.nav-action-button {
|
||
order: 2;
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.nav-action-button:has(.svg-icon.lucide-edit):hover,
|
||
.nav-action-button:has(.svg-icon.lucide-folder-plus):hover {
|
||
border: none;
|
||
background-color: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlTextHover);
|
||
|
||
}
|
||
|
||
.nav-action-button:has(.svg-icon.lucide-edit).is-active:hover,
|
||
.nav-action-button:has(.svg-icon.lucide-folder-plus).has-active-menu:hover {
|
||
border: none;
|
||
background-color: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlTextHover);
|
||
|
||
.text-button-icon {
|
||
color: var(--theme-color-controlTextHover);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.nav-folder-title-content {
|
||
font-weight: var(--font-bold);
|
||
}
|
||
}
|
||
|
||
/* Mobile */
|
||
.workspace-drawer {
|
||
.workspace-leaf-content[data-type="file-explorer"] {
|
||
.nav-header {
|
||
|
||
.nav-action-button:has(.svg-icon.lucide-edit),
|
||
.nav-action-button:has(.svg-icon.lucide-folder-plus) {
|
||
min-height: 44px;
|
||
flex-shrink: 0;
|
||
}
|
||
}
|
||
|
||
.nav-buttons-container {
|
||
padding: 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
.mod-sidedock {
|
||
.workspace-leaf-content {
|
||
.nav-files-container {
|
||
padding: 0.5rem 1rem 2rem 1rem;
|
||
}
|
||
}
|
||
}
|
||
|
||
.mod-left-split {
|
||
.workspace-leaf-content {
|
||
.nav-files-container {
|
||
/* Reduce left padding as the sidebar also provides visual spacing */
|
||
padding-inline-start: 0.5rem;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: File Recovery */
|
||
|
||
.mode-sync-history {}
|
||
|
||
.sync-history-list-container {
|
||
border: none;
|
||
}
|
||
|
||
.sync-history-list {
|
||
gap: 1em;
|
||
}
|
||
|
||
.sync-history-content-container {
|
||
background-color: var(--theme-color-settingsBg);
|
||
}
|
||
|
||
.sync-history-content .setting-item,
|
||
.sync-history-content .setting-item:first-child,
|
||
.mod-sync-history .sync-history-content-buttons {
|
||
background-color: var(--theme-color-settingsBg);
|
||
border: none;
|
||
margin: 0;
|
||
padding: 1em;
|
||
}
|
||
|
||
.sync-history-content .setting-item:first-child {
|
||
box-shadow: var(--shadow-s);
|
||
z-index: 1;
|
||
}
|
||
|
||
.sync-history-list-item-header:hover {
|
||
background: transparent;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Footnotes View */
|
||
|
||
.footnotes-view {
|
||
.footnotes-list {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 1em;
|
||
|
||
.footnote-list-item {
|
||
border: 0;
|
||
padding-inline-end: 1.75em;
|
||
|
||
&.is-editing>.footnote {
|
||
box-shadow: none;
|
||
background-color: transparent;
|
||
|
||
.footnote-content {
|
||
/* TODO: style as for editing properties */
|
||
border-radius: var(--metadata-property-radius);
|
||
}
|
||
|
||
.footnote-content:focus-within {
|
||
border: none;
|
||
background: var(--background-input);
|
||
box-shadow: 0 0 0 var(--input-border-width) var(--background-modifier-border-focus);
|
||
color: var(--text-normal);
|
||
}
|
||
}
|
||
|
||
.footnote {
|
||
padding: 0;
|
||
|
||
.footnote-id {
|
||
padding-top: 0.25rem;
|
||
}
|
||
|
||
.footnote-content {
|
||
padding: var(--input-padding);
|
||
|
||
.markdown-embed {
|
||
background: transparent;
|
||
|
||
.markdown-preview-view .markdown-preview-sizer>div {
|
||
padding: 0;
|
||
}
|
||
}
|
||
|
||
.markdown-embed-link {
|
||
top: -0.25rem;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.footnotes-view .footnote-content:hover {
|
||
background-color: var(--metadata-property-background-hover);
|
||
box-shadow: var(--metadata-property-box-shadow-hover);
|
||
border-radius: var(--metadata-property-radius-hover);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Graph view */
|
||
|
||
.graph-controls {
|
||
min-width: 12em;
|
||
/* Make room for controls */
|
||
top: var(--theme-length-controlSetSpacing);
|
||
right: var(--theme-length-controlSetSpacing);
|
||
|
||
.graph-controls-button.mod-close,
|
||
.graph-controls-button.mod-reset {
|
||
top: 0.25rem;
|
||
}
|
||
|
||
.graph-controls-button.mod-close {
|
||
inset-inline-end: 0.25rem;
|
||
}
|
||
|
||
.graph-controls-button.mod-reset {
|
||
inset-inline-end: 2.25rem;
|
||
}
|
||
}
|
||
|
||
/* Smaller in sidebar */
|
||
.mod-sidedock {
|
||
.graph-controls {
|
||
font-size: 0.75rem;
|
||
|
||
.graph-controls-button.mod-close,
|
||
.graph-controls-button.mod-reset {
|
||
top: 0.25rem;
|
||
}
|
||
|
||
.graph-controls-button.mod-close {
|
||
right: 0.25rem;
|
||
height: var(--input-height);
|
||
width: var(--input-height);
|
||
}
|
||
|
||
.graph-controls-button.mod-reset {
|
||
right: 2.25rem;
|
||
}
|
||
|
||
.graph-control-section .tree-item-inner {
|
||
font-size: 0.75rem;
|
||
padding: 0;
|
||
}
|
||
|
||
.graph-control-section-header,
|
||
.setting-item-name,
|
||
.search-input-container input[type="search"],
|
||
button {
|
||
font-size: 0.75rem;
|
||
}
|
||
|
||
.search-input-container input[type="search"],
|
||
.mod-cta {
|
||
width: 10em;
|
||
}
|
||
}
|
||
}
|
||
|
||
.graph-control-section {
|
||
border: none;
|
||
padding: 0;
|
||
}
|
||
|
||
.graph-control-section>.tree-item-self {
|
||
padding: var(--nav-item-padding);
|
||
}
|
||
|
||
.graph-control-section:last-child .tree-item-children {
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.graph-controls .graph-controls-button {
|
||
display: none;
|
||
}
|
||
|
||
.graph-controls-button.mod-close {
|
||
border-radius: 100%;
|
||
color: var(--theme-color-control);
|
||
}
|
||
|
||
.graph-controls-button.mod-close:hover {
|
||
color: var(--theme-color-control);
|
||
}
|
||
|
||
.graph-controls .tree-item-self .tree-item-icon {
|
||
margin: 0;
|
||
}
|
||
|
||
.workspace-leaf-content[data-type="graph"],
|
||
.workspace-leaf-content[data-type="localgraph"] {
|
||
.view-header {
|
||
border-bottom: none;
|
||
}
|
||
|
||
.view-content {
|
||
overflow: hidden;
|
||
border-radius: var(--tab-radius);
|
||
background-color: var(--theme-color-graphViewBg);
|
||
}
|
||
|
||
.view-content:before,
|
||
.view-content:after {
|
||
background: transparent;
|
||
box-shadow: var(--theme-shadow-indent);
|
||
content: "";
|
||
display: block;
|
||
height: 1rem;
|
||
left: 0;
|
||
pointer-events: none;
|
||
position: absolute;
|
||
right: 0;
|
||
width: 120%;
|
||
}
|
||
|
||
.view-content:before {
|
||
top: -1rem;
|
||
}
|
||
|
||
.view-content:after {
|
||
bottom: -1rem;
|
||
}
|
||
}
|
||
|
||
.mod-sidedock .workspace-leaf-content[data-type="graph"],
|
||
.mod-sidedock .workspace-leaf-content[data-type="localgraph"] {
|
||
margin: 0.5rem 0;
|
||
}
|
||
|
||
.graph-view.color-arrow,
|
||
.graph-view.color-line {
|
||
color: var(--theme-color-graphLine);
|
||
opacity: 0.25;
|
||
}
|
||
|
||
.graph-view.color-fill {
|
||
color: var(--theme-color-graphLine);
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.graph-view.color-fill-tag {}
|
||
|
||
.graph-view.color-fill-attachment {}
|
||
|
||
.graph-view.color-circle {}
|
||
|
||
.graph-view.color-text {
|
||
color: var(--theme-color-graphLine);
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.graph-view.color-fill-highlight {}
|
||
|
||
.graph-view.color-line-highlight {}
|
||
|
||
.graph-view.color-fill-unresolved {}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Note composer */
|
||
|
||
/* No special styles: uses shared .prompt */
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Outgoing links */
|
||
|
||
.tree-item-self.is-clickable.outgoing-link-item {
|
||
cursor: var(--cursor-link);
|
||
text-decoration-line: var(--link-decoration);
|
||
text-decoration-thickness: var(--link-decoration-thickness);
|
||
color: var(--link-color);
|
||
text-underline-offset: 0.125em;
|
||
}
|
||
|
||
.tree-item-self.is-clickable.outgoing-link-item .tree-item-inner-subtext {
|
||
color: inherit;
|
||
font-size: 85%;
|
||
}
|
||
|
||
body:not(.is-grabbing) .tree-item-self.is-clickable.outgoing-link-item:hover {
|
||
background: transparent;
|
||
color: var(--link-color-hover);
|
||
font-weight: inherit;
|
||
text-decoration-line: var(--link-decoration-hover);
|
||
}
|
||
|
||
.external-link:after {
|
||
-webkit-mask-image: url('data:image/svg+xml; utf8, <svg width="24px" height="24px" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg" stroke="black" fill="none" stroke-width="1"><path d="M6.125,3.938L1.313,3.938L1.313,12.688L10.063,12.688L10.063,7.875M7.875,1.75L12.25,1.75L12.25,6.125M12.25,1.75L6.125,7.875"/></svg>');
|
||
-webkit-mask-position: 50% 50%;
|
||
-webkit-mask-repeat: no-repeat;
|
||
-webkit-mask-size: 100%;
|
||
background-color: var(--link-external-color);
|
||
background-image: none;
|
||
content: "";
|
||
display: inline-block;
|
||
height: var(--font-text-size);
|
||
margin-inline-start: 0.25em;
|
||
margin-top: -0.25em;
|
||
vertical-align: middle;
|
||
width: var(--font-text-size);
|
||
}
|
||
|
||
.external-link {
|
||
background-image: none;
|
||
padding-inline-end: 0;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Page preview */
|
||
|
||
.popover {
|
||
border: none;
|
||
box-shadow: var(--shadow-l);
|
||
padding: 0.5rem;
|
||
}
|
||
|
||
.popover.hover-popover {
|
||
padding: 0.5rem;
|
||
}
|
||
|
||
.popover.hover-popover>.markdown-embed {
|
||
background-color: var(--background-primary);
|
||
padding: 0;
|
||
|
||
.markdown-embed-content {
|
||
height: 100%;
|
||
}
|
||
|
||
.markdown-embed-link {
|
||
top: 4px;
|
||
right: auto;
|
||
left: auto;
|
||
}
|
||
}
|
||
|
||
.popover.hover-popover>.file-embed.mod-empty {
|
||
width: auto;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Publish */
|
||
|
||
.modal.mod-publish {
|
||
padding: 0;
|
||
}
|
||
|
||
.modal.mod-publish .modal-title {
|
||
font-size: var(--font-ui-medium);
|
||
line-height: 1.4em;
|
||
margin-bottom: 0;
|
||
margin-top: 0;
|
||
padding: 0.5em calc(var(--size-2-3) + 2rem);
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Search */
|
||
|
||
.mod-sidedock {
|
||
.workspace-leaf-content[data-type="search"] {
|
||
padding: 0.5rem 1rem 2rem 1rem;
|
||
}
|
||
}
|
||
|
||
.mod-left-split {
|
||
.workspace-leaf-content[data-type="search"] {
|
||
/* Reduce left padding as the sidebar also provides visual spacing */
|
||
padding-inline-start: 0.5rem;
|
||
}
|
||
}
|
||
|
||
.workspace-leaf-content[data-type="search"] {
|
||
padding: 1rem;
|
||
}
|
||
|
||
.search-row,
|
||
.search-info-container,
|
||
.search-params,
|
||
.search-results-info {
|
||
margin: 0 0 0.5rem 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.search-params .setting-item {
|
||
margin: 0;
|
||
}
|
||
|
||
.search-result-container.mod-global-search {
|
||
margin-top: 1em;
|
||
padding: 0;
|
||
}
|
||
|
||
.search-results-children {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 1em;
|
||
}
|
||
|
||
.search-results-children>div:first-child:not(.search-result) {
|
||
/* I'm not sure what this div is intended for, but its presence creates an extra flex gap at the top of .search-results-children */
|
||
display: none;
|
||
}
|
||
|
||
.search-results-info {
|
||
border-bottom: none;
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
justify-content: space-between;
|
||
gap: 0.5em;
|
||
margin: 0;
|
||
}
|
||
|
||
.search-results-result-count {
|
||
width: auto;
|
||
}
|
||
|
||
.search-results-info .dropdown {
|
||
max-width: 12em;
|
||
text-align-last: left;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Slides */
|
||
|
||
body {
|
||
/* Match slide typography to regular typography */
|
||
--r-background-color: var(--background-primary);
|
||
--r-block-margin: 20px;
|
||
--r-code-font: var(--font-monospace-theme);
|
||
--r-heading-color: var(--text-normal);
|
||
--r-heading-font-weight: var(--h1-weight);
|
||
--r-heading-font: var(--font-text-theme:);
|
||
--r-heading-letter-spacing: normal;
|
||
--r-heading-line-height: 1.2;
|
||
--r-heading-margin: 0.67em 0 0 0;
|
||
--r-heading-text-shadow: none;
|
||
--r-heading-text-transform: none;
|
||
--r-heading1-size: 2.5em;
|
||
--r-heading1-text-shadow: none;
|
||
--r-heading2-size: 1.6em;
|
||
--r-heading3-size: 1.3em;
|
||
--r-heading4-size: 1em;
|
||
--r-link-color-dark: var(--link-color-active);
|
||
--r-link-color-hover: var(--link-color-hover);
|
||
--r-link-color: var(--link-color);
|
||
--r-main-color: var(--text-normal);
|
||
/* For some reason this seems to need to be in px */
|
||
--r-main-font-size: 42px;
|
||
--r-main-font: var(--font-text-theme);
|
||
}
|
||
|
||
.slides-close-btn {
|
||
line-height: 0;
|
||
width: 18px;
|
||
height: 18px;
|
||
}
|
||
|
||
.reveal-viewport {
|
||
background-color: var(--background-primary);
|
||
color: var(--text-normal);
|
||
}
|
||
|
||
.slides-close-btn>svg>rect {
|
||
display: none;
|
||
}
|
||
|
||
.slides-container .slide .controls button {
|
||
background: transparent;
|
||
border-radius: 100%;
|
||
box-shadow: none;
|
||
color: var(--theme-color-control);
|
||
display: flex;
|
||
align-content: center;
|
||
justify-content: center;
|
||
height: fit-content;
|
||
width: fit-content;
|
||
padding: 0.5rem;
|
||
}
|
||
|
||
.slides-container .slide .controls button:hover {
|
||
background: var(--theme-color-navigationButtonBgHover);
|
||
}
|
||
|
||
.slides-container .slide .controls button .controls-arrow {
|
||
width: 1.5rem;
|
||
height: 1.5rem;
|
||
}
|
||
|
||
.reveal .controls .controls-arrow:before,
|
||
.reveal .controls .controls-arrow:hover:before {
|
||
transform: translateX(0.5em) translateY(1em) rotate(45deg);
|
||
width: 1rem;
|
||
}
|
||
|
||
.reveal .controls .controls-arrow:after,
|
||
.reveal .controls .controls-arrow:hover:after {
|
||
transform: translateX(0.5em) translateY(1em) rotate(-45deg);
|
||
width: 1rem;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Sync */
|
||
|
||
/* Deleted files modal */
|
||
.modal:has(.sync-file-tree-container) .modal-content {
|
||
/* There's no button container below the list */
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.modal .vault-list,
|
||
.modal .sync-file-tree-container {
|
||
margin: 0 -2em;
|
||
}
|
||
|
||
.modal:has(.vault-list) .modal-title {
|
||
box-shadow: var(--shadow-s);
|
||
z-index: 1;
|
||
}
|
||
|
||
.modal:has(.vault-list) .modal-button-container {
|
||
padding: 1em 0 0;
|
||
}
|
||
|
||
.is-phone .vault-list-item {
|
||
/* Fit button snugly to right */
|
||
padding-inline-end: 0.5em;
|
||
}
|
||
|
||
.sync-file-tree-container~p {
|
||
/* Targets bulk restore modal */
|
||
padding: 1em 0;
|
||
}
|
||
|
||
.modal.mod-sync-log {
|
||
padding: 0;
|
||
}
|
||
|
||
.modal.mod-sync-log .modal-title {
|
||
font-size: var(--font-ui-medium);
|
||
line-height: 1.4em;
|
||
margin-bottom: 0;
|
||
margin-top: 0;
|
||
padding: 0.5em calc(var(--size-2-3) + 2rem);
|
||
}
|
||
|
||
.modal.mod-sync-log .setting-item {
|
||
margin: 0;
|
||
}
|
||
|
||
.modal.mod-sync-log .sync-log-container {
|
||
border: none;
|
||
background: var(--theme-color-logBg);
|
||
color: var(--theme-color-log);
|
||
padding: 1.5em;
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Tags view */
|
||
@media (hover: hover) {
|
||
|
||
/* Don't use heavy background for hovering over rows */
|
||
body:not(.is-grabbing) .tag-container .tree-item-self.is-clickable:hover {
|
||
background: inherit;
|
||
}
|
||
}
|
||
|
||
/* Align collapsible tags with non-collapsible */
|
||
.tag-pane-tag {
|
||
.tree-item-inner {
|
||
margin-inline-start: 9px;
|
||
/* This matches hard-coded styles */
|
||
}
|
||
|
||
&.mod-collapsible {
|
||
.tree-item-inner {
|
||
margin-inline-start: 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
.tag-pane-tag {
|
||
padding-inline-end: 0;
|
||
}
|
||
|
||
.tag-pane-tag>.tree-item-inner {
|
||
/* Tags in sidebar styled the same as in notes, but ligher/darker to sit on colored background */
|
||
border-radius: var(--tag-radius);
|
||
border: var(--tag-border-width) solid var(--tag-border-color);
|
||
font-weight: var(--tag-weight);
|
||
padding: var(--tag-padding-y) var(--tag-padding-x);
|
||
vertical-align: baseline;
|
||
}
|
||
|
||
.tag-pane-tag>.tree-item-inner:before {
|
||
content: "#";
|
||
display: inline;
|
||
}
|
||
|
||
.tag-pane-tag>.tree-item-inner>.tree-item-inner-text {
|
||
display: inline;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.tag-pane-tag>.tree-item-inner:hover,
|
||
.cm-hashtag:hover,
|
||
.cm-hashtag-begin:hover+.cm-hashtag-end,
|
||
.cm-hashtag-begin:has(+ .cm-hashtag-end:hover) {
|
||
cursor: var(--cursor-link);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Core Plugin: Web viewer */
|
||
.workspace-leaf-content[data-type="webviewer"] {
|
||
.view-header {
|
||
border-bottom: none;
|
||
}
|
||
|
||
.view-content:before,
|
||
.view-content:after {
|
||
background: transparent;
|
||
box-shadow: var(--theme-shadow-indent);
|
||
content: "";
|
||
display: block;
|
||
height: 1rem;
|
||
left: 0;
|
||
pointer-events: none;
|
||
position: absolute;
|
||
right: 0;
|
||
width: 120%;
|
||
}
|
||
|
||
.view-content:before {
|
||
top: -1rem;
|
||
}
|
||
|
||
.view-content:after {
|
||
bottom: -1rem;
|
||
}
|
||
|
||
.webviewer-content {
|
||
border-top: none;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.reader-mode-content {
|
||
overflow: hidden;
|
||
|
||
.markdown-preview-view {
|
||
padding: 2rem;
|
||
}
|
||
}
|
||
|
||
.webviewer-address {
|
||
margin: var(--input-border-width);
|
||
}
|
||
|
||
.search-in-page {
|
||
position: absolute;
|
||
left: 50%;
|
||
top: 0.5em;
|
||
transform: translateX(-50%);
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #endregion */
|
||
/* #region Community plugins */
|
||
/* #region Community Plugin: Advanced Tables */
|
||
/* a.k.a. table-editor-obsidian */
|
||
body.theme-setting-overrideAdvancedTables {
|
||
.workspace-leaf-content[data-type="advanced-tables-toolbar"] .view-content {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: flex-start;
|
||
}
|
||
|
||
[data-type="advanced-tables-toolbar"] .nav-buttons-container .nav-action-button>svg {
|
||
fill: currentColor;
|
||
--text-muted: currentColor;
|
||
/* For some reason the CSV button specifies text-muted as stroke color */
|
||
}
|
||
|
||
.advanced-tables-buttons>div>.title {
|
||
font-weight: var(--font-semibold);
|
||
font-size: var(--font-ui-small);
|
||
color: var(--text-normal);
|
||
text-decoration: none;
|
||
text-align: center;
|
||
display: block;
|
||
padding-top: 0.5em;
|
||
}
|
||
|
||
.advanced-tables-row-label {
|
||
font-weight: var(--font-semibold);
|
||
font-size: var(--font-ui-small);
|
||
color: var(--text-normal);
|
||
}
|
||
|
||
[data-type="advanced-tables-toolbar"] .nav-buttons-container .nav-action-button {
|
||
margin-inline-end: 0.25em;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Calendar */
|
||
body.theme-setting-overrideCalendar {
|
||
.workspace-leaf-content[data-type="calendar"] {
|
||
.view-content {
|
||
background-color: var(--theme-color-tabNavActiveBg);
|
||
|
||
.mod-fade:after {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
.container {
|
||
border-radius: 1rem;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.container>.calendar {
|
||
width: 100%;
|
||
margin: 0;
|
||
}
|
||
}
|
||
|
||
.container:has(> .calendar) {
|
||
background-color: var(--theme-color-calendarBg);
|
||
margin: 0;
|
||
padding: 0 !important;
|
||
|
||
.nav {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: flex-end !important;
|
||
margin: 0 !important;
|
||
padding: 1em 0.5em 0.5em 0.5em !important;
|
||
|
||
.title {
|
||
cursor: default;
|
||
line-height: 1;
|
||
padding: 0;
|
||
}
|
||
|
||
.right-nav {
|
||
align-items: center;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.arrow svg,
|
||
.reset-button {
|
||
color: var(--icon-color);
|
||
}
|
||
}
|
||
}
|
||
|
||
.calendar .day {
|
||
padding: 0.5em 1em;
|
||
min-height: 10em;
|
||
}
|
||
|
||
.container>.calendar {
|
||
table-layout: fixed;
|
||
margin: 1rem;
|
||
}
|
||
|
||
.container>.calendar thead th {
|
||
background: transparent;
|
||
border: none;
|
||
text-transform: none;
|
||
font-size: var(--font-ui-small);
|
||
font-weight: normal;
|
||
color: var(--theme-color-control);
|
||
text-align: left;
|
||
padding: 0.25em 1em;
|
||
}
|
||
|
||
.container>.calendar tbody td {
|
||
display: table-cell;
|
||
max-width: 0;
|
||
border: none;
|
||
padding: 0;
|
||
vertical-align: top;
|
||
}
|
||
|
||
/* Days for current month */
|
||
.container>.calendar tbody td {
|
||
.day {
|
||
background-color: var(--theme-color-calendarDayBg);
|
||
border-radius: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
.day.today {
|
||
background-color: var(--theme-color-tabNavBg);
|
||
color: var(--text-normal);
|
||
font-weight: bold;
|
||
}
|
||
|
||
.day.active {
|
||
background-color: var(--background-primary);
|
||
color: var(--text-normal);
|
||
}
|
||
}
|
||
|
||
.container>.calendar tbody td:has(.day.today) {
|
||
background-color: var(--theme-color-calendarDayBg);
|
||
}
|
||
|
||
.container>.calendar tbody td:has(.adjacent-month) {
|
||
background-color: transparent;
|
||
|
||
.day {
|
||
background-color: transparent;
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.container>.calendar tbody td .day:hover {
|
||
background: transparent;
|
||
}
|
||
|
||
.container>.calendar tbody td:not(:has(.adjacent-month)) .day:hover {
|
||
background-color: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
.calendar .day {
|
||
text-align: left;
|
||
}
|
||
|
||
.mod-sidedock .workspace-leaf-content[data-type="calendar"] {
|
||
.view-content {
|
||
background: transparent;
|
||
}
|
||
|
||
.container {
|
||
border-radius: var(--radius-m);
|
||
overflow: hidden;
|
||
|
||
.calendar .day {
|
||
padding: 0.25em 0.25em;
|
||
min-height: 3em;
|
||
}
|
||
|
||
}
|
||
|
||
.container>.calendar {
|
||
table-layout: fixed;
|
||
width: 100%;
|
||
margin: 0.0;
|
||
}
|
||
|
||
.container>.calendar thead th {
|
||
padding: 0.25em;
|
||
}
|
||
|
||
.container>.calendar tbody td .day.today {
|
||
border-radius: 0.25em;
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Clear Unused Images */
|
||
body.theme-setting-overrideClearUnusedImages {
|
||
.modal:has(.unused-images-logs) {
|
||
padding-bottom: 1em;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Columns */
|
||
body.theme-setting-overrideColumns {
|
||
/* Callout format – this also works without the plugin */
|
||
|
||
--obsidian-columns-gap: 1em;
|
||
--obsidian-columns-padding: 0 0;
|
||
--obsidian-columns-min-width: 10em;
|
||
--obsidian-columns-def-span: 1;
|
||
|
||
div[data-callout|="col"].callout {
|
||
background-color: var(--background-primary);
|
||
/* Override callout bg */
|
||
padding: 0;
|
||
border-style: none;
|
||
|
||
>div.callout-title {
|
||
display: none;
|
||
}
|
||
|
||
>div.callout-content {
|
||
>div[data-callout^="col-md"].callout {
|
||
flex-grow: var(--obsidian-columns-custom-span);
|
||
flex-basis: calc(var(--obsidian-columns-min-width) * var(--obsidian-columns-custom-span));
|
||
width: calc(var(--obsidian-columns-min-width) * var(--obsidian-columns-custom-span));
|
||
|
||
background-color: var(--background-primary);
|
||
/* Override callout bg */
|
||
padding: 0;
|
||
border-style: none;
|
||
}
|
||
|
||
>div[data-callout|="col-md"].callout {
|
||
margin-block-start: 0;
|
||
}
|
||
|
||
>div[data-callout="-0.5"].callout {
|
||
--obsidian-columns-custom-span: 0.5;
|
||
}
|
||
|
||
>div[data-callout$="-1"].callout,
|
||
>div[data-callout="col-md"].callout {
|
||
--obsidian-columns-custom-span: 1;
|
||
}
|
||
|
||
>div[data-callout$="-1.5"].callout {
|
||
--obsidian-columns-custom-span: 1.5;
|
||
}
|
||
|
||
>div[data-callout$="-2"].callout {
|
||
--obsidian-columns-custom-span: 2;
|
||
}
|
||
|
||
>div[data-callout$="-2.5"].callout {
|
||
--obsidian-columns-custom-span: 2.5;
|
||
}
|
||
|
||
>div[data-callout$="-3"].callout {
|
||
--obsidian-columns-custom-span: 3;
|
||
}
|
||
|
||
>div[data-callout$="-3.5"].callout {
|
||
--obsidian-columns-custom-span: 3.5;
|
||
}
|
||
|
||
>div[data-callout$="-4"].callout {
|
||
--obsidian-columns-custom-span: 4;
|
||
}
|
||
|
||
>div[data-callout$="-4.5"].callout {
|
||
--obsidian-columns-custom-span: 4.5;
|
||
}
|
||
|
||
>div[data-callout$="-5"].callout {
|
||
--obsidian-columns-custom-span: 5;
|
||
}
|
||
|
||
>div[data-callout$="-5.5"].callout {
|
||
--obsidian-columns-custom-span: 5.5;
|
||
}
|
||
|
||
>div[data-callout$="-6"].callout {
|
||
--obsidian-columns-custom-span: 6;
|
||
}
|
||
|
||
>div[data-callout$="-6.5"].callout {
|
||
--obsidian-columns-custom-span: 6.5;
|
||
}
|
||
|
||
>div[data-callout$="-7"].callout {
|
||
--obsidian-columns-custom-span: 7;
|
||
}
|
||
|
||
>div[data-callout$="-7.5"].callout {
|
||
--obsidian-columns-custom-span: 7.5;
|
||
}
|
||
|
||
>div[data-callout$="-8"].callout {
|
||
--obsidian-columns-custom-span: 8;
|
||
}
|
||
|
||
>div[data-callout$="-8.5"].callout {
|
||
--obsidian-columns-custom-span: 8.5;
|
||
}
|
||
|
||
>div[data-callout$="-9"].callout {
|
||
--obsidian-columns-custom-span: 9;
|
||
}
|
||
|
||
>div[data-callout$="-9.5"].callout {
|
||
--obsidian-columns-custom-span: 9.5;
|
||
}
|
||
|
||
>div[data-callout$="-10"].callout {
|
||
--obsidian-columns-custom-span: 10;
|
||
}
|
||
}
|
||
}
|
||
|
||
.columnParent,
|
||
div[data-callout="col"].callout>div.callout-content {
|
||
display: flex !important;
|
||
padding: var(--obsidian-columns-padding);
|
||
flex-wrap: wrap;
|
||
gap: var(--obsidian-columns-gap);
|
||
white-space: normal;
|
||
}
|
||
|
||
.columnChild,
|
||
div[data-callout="col"].callout>div.callout-content>* {
|
||
flex-grow: var(--obsidian-columns-def-span);
|
||
flex-basis: calc(var(--obsidian-columns-min-width) * var(--obsidian-columns-def-span));
|
||
width: calc(var(--obsidian-columns-min-width) * var(--obsidian-columns-def-span));
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Dataview */
|
||
body.theme-setting-overrideDataview {
|
||
|
||
/* Styled to match embeds */
|
||
.block-language-dataview {
|
||
background-color: var(--embed-background);
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-left);
|
||
border-radius: var(--radius-m);
|
||
border-inline-end: var(--embed-border-right);
|
||
border-top: var(--embed-border-top);
|
||
margin: 0;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
/* Undo hover effect styles from app. There doesn't seem to be any clickable behaviour. */
|
||
.markdown-source-view.mod-cm6 .cm-embed-block:not(.cm-table-widget):hover {
|
||
box-shadow: none;
|
||
border-radius: inherit;
|
||
cursor: inherit;
|
||
overflow: visible;
|
||
}
|
||
}
|
||
|
||
/* List query */
|
||
.dataview.list-view-ul {
|
||
padding: var(--theme-padding-block);
|
||
margin: 0;
|
||
|
||
& li {
|
||
margin: 0 0 0 0.5em;
|
||
}
|
||
}
|
||
|
||
/* Table query */
|
||
.block-language-dataview:has(.dataview.table-view-table .dataview.table-view-table) {
|
||
border-radius: 0;
|
||
}
|
||
|
||
.dataview.table-view-table {
|
||
border-collapse: separate;
|
||
border-spacing: 0;
|
||
margin-block-start: 0;
|
||
margin-block-end: 0;
|
||
--list-indent: 1em;
|
||
}
|
||
|
||
.dataview.table-view-table th {
|
||
font-size: var(--table-header-size);
|
||
font-weight: var(--table-header-weight);
|
||
color: var(--table-header-color);
|
||
font-family: var(--table-header-font);
|
||
text-align: start;
|
||
line-height: var(--line-height-tight);
|
||
}
|
||
|
||
.dataview.table-view-table thead th:first-of-type {
|
||
border-top-left-radius: 0.5rem;
|
||
}
|
||
|
||
.dataview.table-view-table thead th:last-of-type {
|
||
border-top-right-radius: 0.5rem;
|
||
/* Make room for edit-block button */
|
||
padding-inline-end: 2.5rem;
|
||
}
|
||
|
||
.dataview.table-view-table tbody tr:last-of-type td:first-of-type {
|
||
border-bottom-left-radius: 0.5rem;
|
||
}
|
||
|
||
.dataview.table-view-table tbody tr:last-of-type td:last-of-type {
|
||
border-bottom-right-radius: 0.5rem;
|
||
}
|
||
|
||
.dataview.table-view-table>thead>tr>th,
|
||
.dataview.table-view-table>tbody>tr>td {
|
||
border: solid var(--table-header-border-width) var(--table-header-border-color);
|
||
border-left-width: 0;
|
||
border-top-width: 0;
|
||
}
|
||
|
||
.dataview.table-view-table>tbody>tr>td:first-child,
|
||
.dataview.table-view-table>thead>tr>th:first-child {
|
||
border-left-width: var(--table-header-border-width);
|
||
}
|
||
|
||
.dataview.table-view-table>thead:first-child>tr:first-child th,
|
||
.dataview.table-view-table>tbody:first-child>tr:first-child td {
|
||
border-top-width: var(--table-header-border-width);
|
||
}
|
||
|
||
/* Table query with card layout (idea borrowed from Minimal) */
|
||
|
||
.cards .block-language-dataview:has(.dataview.table-view-table) {
|
||
background: var(--theme-gradient-cardSetGenerated);
|
||
}
|
||
|
||
.cards table.dataview {
|
||
--table-width: 100%;
|
||
--table-edge-cell-padding-first: 0;
|
||
--table-edge-cell-padding-last: 0;
|
||
--table-cell-padding: 0;
|
||
line-height: 1.3;
|
||
--table-min-width: none;
|
||
margin: 0;
|
||
}
|
||
|
||
.cards table.dataview thead {
|
||
user-select: none;
|
||
width: 180px;
|
||
display: none;
|
||
float: right;
|
||
position: relative;
|
||
text-align: right;
|
||
height: 24px;
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.cards table.dataview tbody {
|
||
clear: both;
|
||
padding: 1.5em;
|
||
display: grid;
|
||
grid-template-columns: var(--theme-grid-cardSet);
|
||
grid-column-gap: 1em;
|
||
grid-row-gap: 1em;
|
||
}
|
||
|
||
.cards table.dataview tbody:empty {
|
||
padding: 0;
|
||
}
|
||
|
||
.cards table.dataview>tbody>tr {
|
||
background-color: var(--theme-color-cardBg);
|
||
display: flex;
|
||
flex-direction: column;
|
||
margin: 0;
|
||
padding: 0;
|
||
overflow: hidden;
|
||
transition: box-shadow 0.15s linear;
|
||
max-width: var(--theme-length-cardMaxWidth);
|
||
height: auto;
|
||
border-radius: var(--radius-m);
|
||
border: none;
|
||
box-shadow: var(--shadow-s);
|
||
}
|
||
|
||
.cards table.dataview.table-view-table>tbody>tr>td,
|
||
.cards table.dataview.table-view-table>tbody>tr:last-of-type>td:first-of-type,
|
||
.cards table.dataview.table-view-table>tbody>tr:last-of-type>td:last-of-type {
|
||
border: none;
|
||
border-radius: 0;
|
||
padding: 0.5em 0.75em 0.5em 0.75em;
|
||
}
|
||
|
||
.cards table.dataview.table-view-table>tbody>tr>td:has(img) {
|
||
padding: 0;
|
||
}
|
||
|
||
.cards table.dataview tbody>tr>td img {
|
||
aspect-ratio: var(--theme-cardAspectRatio);
|
||
width: 100%;
|
||
object-fit: var(--theme-cardImageFit);
|
||
max-height: var(--theme-length-cardImageHeight);
|
||
display: inline-block;
|
||
background-color: var(--theme-color-baseTransparent12);
|
||
vertical-align: bottom;
|
||
margin: 0;
|
||
text-align: center;
|
||
}
|
||
|
||
.cards table.dataview tbody>tr>td button {
|
||
width: 100%;
|
||
}
|
||
|
||
/* Task query */
|
||
.dataview-container:has(.contains-task-list) {
|
||
padding: var(--theme-padding-block);
|
||
}
|
||
|
||
.dataview-container .contains-task-list {
|
||
padding-inline-start: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
/* Style as a link */
|
||
.dataview.task-list-item:hover,
|
||
.dataview.task-list-basic-item:hover {
|
||
box-shadow: none;
|
||
background-color: transparent;
|
||
cursor: var(--cursor-link);
|
||
text-decoration-line: var(--link-decoration);
|
||
color: var(--link-color);
|
||
}
|
||
}
|
||
|
||
/* Calendar query */
|
||
/* Most styles shared with Calendar plugin */
|
||
.block-language-dataview:has(.calendar) {
|
||
padding: var(--theme-padding-block);
|
||
}
|
||
|
||
/* Empty and error queries */
|
||
& div.dataview-error-box,
|
||
.dataview.dataview-error {
|
||
align-items: center;
|
||
border: 0.25rem dashed var(--theme-color-dataviewEmpty);
|
||
display: flex;
|
||
justify-content: center;
|
||
min-height: 5em;
|
||
width: 100%;
|
||
background-color: transparent;
|
||
}
|
||
|
||
.dataview-error-message,
|
||
.dataview-error {
|
||
color: var(--theme-color-dataviewEmpty);
|
||
text-align: center;
|
||
font-family: var(--font-interface);
|
||
}
|
||
|
||
/* Callouts with dataviews */
|
||
.callout .dataview.dataview-container {
|
||
padding-top: 0;
|
||
}
|
||
|
||
.callout:has(.dataview.list-view-ul) .callout-content,
|
||
.callout:has(.dataview-container > .contains-task-list) .callout-content,
|
||
.callout:has(.block-language-dataview > .container > table.calendar) .callout-content {
|
||
margin: 0 -1.5em;
|
||
}
|
||
|
||
.callout:has(.dataview.table-view-table) .callout-content {
|
||
margin: 0 -0.75em;
|
||
}
|
||
|
||
.cards .callout:has(.dataview.table-view-table) .callout-content {
|
||
margin: 0 -1.5em;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Excalidraw */
|
||
body.theme-setting-overrideExcalidraw {
|
||
.workspace-leaf-content[data-type="excalidraw"] {
|
||
& .view-header {
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
& .excalidraw-view {
|
||
/* I don't know why the default styles have 1px padding left and right. */
|
||
padding: 0;
|
||
}
|
||
}
|
||
|
||
.excalidraw-view {
|
||
.excalidraw {
|
||
.FixedSideContainer_side_top {
|
||
top: var(--theme-length-controlSetSpacing) !important;
|
||
right: var(--theme-length-controlSetSpacing) !important;
|
||
bottom: var(--theme-length-controlSetSpacing) !important;
|
||
left: var(--theme-length-controlSetSpacing) !important;
|
||
}
|
||
|
||
.App-bottom-bar {
|
||
gap: 0.5rem;
|
||
margin: var(--theme-length-controlSetSpacing) !important;
|
||
}
|
||
|
||
/* Control sets */
|
||
& .Island,
|
||
& .mobile-misc-tools-container {
|
||
background: var(--theme-color-controlSetBg);
|
||
border: none;
|
||
padding: 0.25rem;
|
||
gap: 0;
|
||
box-shadow: var(--theme-shadow-input);
|
||
border-radius: var(--radius-m);
|
||
}
|
||
|
||
& .mobile-misc-tools-container {
|
||
gap: 0.5rem;
|
||
right: 0;
|
||
top: 0;
|
||
}
|
||
|
||
/* Layout structures inside control sets */
|
||
.Stack,
|
||
.App-toolbar-content {
|
||
gap: 0.5em;
|
||
padding: 0;
|
||
}
|
||
|
||
.App-toolbar-content {
|
||
|
||
/* I think these are supposed to be spacers, but I don't think we need them. */
|
||
>.ToolIcon__icon:empty {
|
||
display: none;
|
||
}
|
||
|
||
/* Container div for undeo/redo, which for somer eason has no class */
|
||
>div:last-child {
|
||
display: flex;
|
||
}
|
||
}
|
||
|
||
/* Menus */
|
||
& .dropdown-menu--mobile {
|
||
width: auto;
|
||
}
|
||
|
||
& .dropdown-menu .dropdown-menu-container {
|
||
background-color: var(--theme-color-menuBg);
|
||
border: 0;
|
||
box-shadow: var(--shadow-l);
|
||
border-radius: var(--radius-l);
|
||
margin: 0 1rem;
|
||
padding: 0.5em;
|
||
|
||
&>button {
|
||
border: none;
|
||
border-color: var(--nav-item-color);
|
||
color: var(--nav-item-color);
|
||
background-color: var(--nav-item-background);
|
||
box-shadow: none;
|
||
}
|
||
|
||
/* Match other hotkeys */
|
||
& .dropdown-menu-item__shortcut {
|
||
background: transparent;
|
||
border: solid 1px var(--theme-color-hotkey);
|
||
color: var(--theme-color-hotkey);
|
||
font-size: var(--font-ui-smaller);
|
||
font-family: var(--font-interface);
|
||
padding: 2px 6px;
|
||
border-radius: var(--radius-s);
|
||
}
|
||
}
|
||
|
||
.popover {
|
||
margin: 0 1rem;
|
||
}
|
||
|
||
.context-menu {
|
||
background-color: var(--theme-color-menuBg);
|
||
border: 0;
|
||
box-shadow: var(--shadow-l);
|
||
border-radius: var(--radius-l);
|
||
padding: 0.5em;
|
||
margin: 0;
|
||
display: flex;
|
||
gap: 0;
|
||
flex-direction: column;
|
||
|
||
& button {
|
||
border: none;
|
||
border-color: var(--nav-item-color);
|
||
color: var(--nav-item-color);
|
||
background-color: var(--nav-item-background);
|
||
box-shadow: none;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
& button:hover {
|
||
border-color: var(--nav-item-color-hover);
|
||
color: var(--nav-item-color-hover);
|
||
background-color: var(--nav-item-background-hover) !important;
|
||
font-weight: var(--nav-item-weight-hover);
|
||
--icon-fill-color: var(--nav-item-color-hover);
|
||
}
|
||
}
|
||
|
||
hr {
|
||
margin: 0.5em 0;
|
||
border-top: var(--border-width) solid var(--background-modifier-border);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.excalidraw-view {
|
||
& .excalidraw {
|
||
& .dropdown-menu .dropdown-menu-container {
|
||
&>button:hover {
|
||
border-color: var(--nav-item-color-hover);
|
||
color: var(--nav-item-color-hover);
|
||
background-color: var(--nav-item-background-hover) !important;
|
||
font-weight: var(--nav-item-weight-hover);
|
||
--icon-fill-color: var(--nav-item-color-hover);
|
||
}
|
||
|
||
& .dropdown-menu-item__shortcut {
|
||
color: inherit;
|
||
border-color: inherit;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* Patch weird use of .is-mobile that clashes with Obsidian's use */
|
||
body:not(.is-mobile) .mobile-misc-tools-container .ToolIcon.is-mobile {
|
||
--input-height: 30px;
|
||
}
|
||
|
||
/* Buttons – duplicated from lightweight buttons above */
|
||
.excalidraw-view .excalidraw .ToolIcon,
|
||
.excalidraw-view .excalidraw .dropdown-menu-button,
|
||
.excalidraw-view .excalidraw .sidebar-trigger__label-element {
|
||
align-items: center;
|
||
background-color: transparent;
|
||
border-radius: var(--clickable-icon-radius);
|
||
border: none;
|
||
box-shadow: none;
|
||
color: var(--theme-color-control);
|
||
cursor: var(--cursor);
|
||
display: flex;
|
||
height: 2em;
|
||
justify-content: center;
|
||
min-height: var(--input-height);
|
||
opacity: var(--icon-opacity);
|
||
padding: 0.25rem;
|
||
text-decoration: none;
|
||
transition: opacity 0.15s ease-in-out;
|
||
width: 2em;
|
||
--icon-fill-color: var(--theme-color-control);
|
||
}
|
||
|
||
.is-mobile .excalidraw-view .excalidraw .ToolIcon,
|
||
.is-mobile .excalidraw-view .excalidraw .dropdown-menu-button {
|
||
min-height: 44px;
|
||
min-width: 44px;
|
||
}
|
||
|
||
.excalidraw-view .excalidraw .dropdown-menu-button:focus {
|
||
box-shadow: none;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.excalidraw-view .excalidraw .Island .ToolIcon:hover,
|
||
.excalidraw-view .excalidraw .dropdown-menu-button:hover,
|
||
.excalidraw-view .excalidraw .sidebar-trigger__label-element:hover,
|
||
.excalidraw-view .excalidraw .mobile-misc-tools-container .ToolIcon:hover,
|
||
.excalidraw-view .excalidraw .reset-zoom-button:hover {
|
||
color: var(--theme-color-controlHover);
|
||
--icon-fill-color: var(--theme-color-controlHover);
|
||
background-color: var(--background-modifier-hover);
|
||
}
|
||
}
|
||
|
||
/* Active state */
|
||
.excalidraw-view .excalidraw .ToolIcon:has(.ToolIcon_type_radio:checked),
|
||
.excalidraw-view .excalidraw .dropdown-menu-button:has(~ .dropdown-menu) {
|
||
opacity: var(--icon-opacity-hover);
|
||
color: var(--theme-color-controlLightweightActive);
|
||
background-color: var(--theme-color-interactiveActive);
|
||
--icon-fill-color: var(--theme-color-controlLightweightActive);
|
||
}
|
||
|
||
.excalidraw-view .excalidraw .ToolIcon.fillable:has(.ToolIcon_type_radio:checked) .ToolIcon__icon,
|
||
.excalidraw-view .excalidraw .ToolIcon.fillable:has(.ToolIcon_type_radio:checked) .ToolIcon__keybinding,
|
||
.excalidraw .ToolIcon .ToolIcon_type_checkbox:checked+.ToolIcon__icon,
|
||
.excalidraw .ToolIcon .ToolIcon_type_radio:checked+.ToolIcon__icon {
|
||
color: inherit;
|
||
--icon-fill-color: inherit;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.excalidraw-view .excalidraw .ToolIcon:hover,
|
||
.excalidraw-view .excalidraw .dropdown-menu-button:hover {
|
||
color: var(--theme-color-controlHover);
|
||
background-color: var(--background-modifier-hover);
|
||
}
|
||
|
||
.excalidraw-view .excalidraw .ToolIcon:has(.ToolIcon_type_radio:checked):hover,
|
||
.excalidraw-view .excalidraw .dropdown-menu-button:focus:hover {
|
||
background-color: var(--background-modifier-hover);
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
|
||
.excalidraw-view .excalidraw .ToolIcon .ToolIcon_type_checkbox:checked+.ToolIcon__icon,
|
||
.excalidraw-view .excalidraw .ToolIcon .ToolIcon_type_radio:checked+.ToolIcon__icon {
|
||
background-color: transparent;
|
||
}
|
||
|
||
/* Icons inside buttons */
|
||
.excalidraw-view .excalidraw .Island .ToolIcon__icon,
|
||
.excalidraw-view .excalidraw .Island .ToolIcon__keybinding,
|
||
.excalidraw-view .excalidraw .mobile-misc-tools-container .ToolIcon__icon {
|
||
--icon-size: var(--icon-s);
|
||
--icon-stroke: var(--icon-s-stroke-width);
|
||
border-radius: var(--clickable-icon-radius);
|
||
color: inherit;
|
||
opacity: var(--icon-opacity);
|
||
background-color: transparent;
|
||
border: none;
|
||
}
|
||
|
||
.excalidraw-view .excalidraw .sidebar-trigger {
|
||
box-shadow: none;
|
||
background: transparent;
|
||
}
|
||
|
||
.excalidraw-view .excalidraw .App-toolbar__divider {
|
||
width: 1rem;
|
||
height: 1.5rem;
|
||
align-self: center;
|
||
background-color: transparent;
|
||
margin: 0 0.25rem;
|
||
}
|
||
|
||
.excalidraw-view .excalidraw .ToolIcon {
|
||
cursor: default;
|
||
}
|
||
|
||
.excalidraw-view .excalidraw .zoom-actions,
|
||
.excalidraw-view .excalidraw .zoom-actions .Stack {
|
||
background-color: transparent;
|
||
border-radius: 0;
|
||
box-shadow: none;
|
||
padding: 0;
|
||
}
|
||
|
||
.excalidraw-view .excalidraw .zoom-button {
|
||
background: transparent !important;
|
||
/* Ugh. */
|
||
border-radius: var(--clickable-icon-radius) !important;
|
||
font-size: inherit !important;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.excalidraw-view .excalidraw .zoom-button:hover {
|
||
background-color: var(--background-modifier-hover) !important;
|
||
/* Ugh. */
|
||
}
|
||
}
|
||
|
||
/* Match style of small notice */
|
||
.excalidraw .HintViewer {
|
||
border-radius: var(--radius-xl);
|
||
background-color: var(--background-modifier-message);
|
||
color: var(--theme-color-notice);
|
||
box-shadow: var(--shadow-s);
|
||
padding: 0.5em 0.75em;
|
||
width: auto;
|
||
|
||
& span {
|
||
padding: 0;
|
||
}
|
||
}
|
||
|
||
.excalidraw-setting-hr {
|
||
border: none;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Folder Note */
|
||
body.theme-setting-overrideFolderNote {
|
||
.block-language-ccard {
|
||
/* Styled as embed, but with gradient background to give more contrast for cards */
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-left);
|
||
border-radius: var(--radius-m);
|
||
border-inline-end: var(--embed-border-right);
|
||
border-top: var(--embed-border-top);
|
||
margin: 0;
|
||
background: var(--theme-gradient-cardSetGenerated);
|
||
border: 0;
|
||
padding: 1.5em;
|
||
gap: 1.5em;
|
||
|
||
.cute-card-band {
|
||
margin-top: 0;
|
||
grid-template-columns: var(--theme-grid-cardSet);
|
||
grid-gap: 1em;
|
||
}
|
||
|
||
.cute-card-view,
|
||
.is-phone .cute-card-view {
|
||
background-color: var(--theme-color-cardBg);
|
||
border-radius: var(--radius-m);
|
||
border: none;
|
||
box-shadow: var(--shadow-s);
|
||
cursor: var(--cursor);
|
||
padding: 0;
|
||
position: relative;
|
||
|
||
& article {
|
||
padding: 0.25em 0.75em 0.5em 0.75em;
|
||
}
|
||
|
||
& h1 {
|
||
padding: 0;
|
||
font-size: var(--font-text);
|
||
font-weight: var(--inline-title-weight);
|
||
line-height: var(--inline-title-line-height);
|
||
font-style: var(--inline-title-style);
|
||
font-variant: var(--inline-title-variant);
|
||
font-family: var(--inline-title-font);
|
||
margin-bottom: var(--inline-title-margin-bottom);
|
||
letter-spacing: -0.015em;
|
||
color: var(--inline-title-color);
|
||
white-space: pre-wrap;
|
||
}
|
||
|
||
& p,
|
||
& span {
|
||
color: var(--text-muted);
|
||
font-weight: normal;
|
||
margin-block-end: 0;
|
||
margin-block-start: 0;
|
||
font-size: 0.8rem;
|
||
}
|
||
|
||
.thumb-color {
|
||
display: none;
|
||
}
|
||
|
||
.thumb-color-folder {
|
||
font-weight: bold;
|
||
}
|
||
}
|
||
|
||
.cute-card-view:hover {
|
||
top: 0;
|
||
box-shadow: var(--shadow-s);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Jira Issue */
|
||
body.theme-setting-overrideJiraIssue {
|
||
.jira-issue-container {
|
||
margin: 0 0 0.5em;
|
||
}
|
||
|
||
.jira-issue-container a {
|
||
text-decoration-line: var(--link-decoration);
|
||
text-decoration-thickness: var(--link-decoration-thickness);
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.jira-issue-container a:hover {
|
||
color: var(--link-color-hover);
|
||
text-decoration-line: var(--link-decoration-hover);
|
||
}
|
||
}
|
||
|
||
.jira-issue-container .ji-tags {
|
||
border: solid 1px var(--embed-background);
|
||
border-radius: var(--radius-s);
|
||
overflow: hidden;
|
||
width: 100%;
|
||
align-items: center;
|
||
display: flex;
|
||
gap: 0.25em;
|
||
padding: 0;
|
||
|
||
.ji-tag,
|
||
.ji-tag.is-link {
|
||
background-color: transparent;
|
||
color: inherit;
|
||
margin: 0;
|
||
}
|
||
|
||
.ji-tag.is-link {
|
||
color: var(--link-color);
|
||
font-weight: var(--link-weight);
|
||
text-decoration-line: var(--link-decoration);
|
||
text-decoration-thickness: var(--link-decoration-thickness);
|
||
cursor: var(--cursor-link);
|
||
transition: opacity 0.15s ease-in-out;
|
||
}
|
||
|
||
.ji-tag {
|
||
padding: 0.25em;
|
||
}
|
||
|
||
.ji-tag:last-child {
|
||
border-radius: var(--radius-s);
|
||
border: var(--tag-border-width) solid var(--tag-border-color);
|
||
padding: 0.25em 0.5em;
|
||
vertical-align: baseline;
|
||
line-height: var(--line-height-tight);
|
||
margin: 0.25em 0.5em;
|
||
background-color: var(--theme-color-jiraIssueStatusBg);
|
||
color: var(--theme-color-jiraIssueStatus);
|
||
text-transform: uppercase;
|
||
font-weight: 700;
|
||
}
|
||
|
||
.ji-tag.is-info {
|
||
background-color: var(--theme-color-jiraIssueInfoBg);
|
||
color: var(--text-normal);
|
||
}
|
||
|
||
.ji-tag.is-warning {
|
||
background-color: var(--theme-color-jiraIssueWarningBg);
|
||
color: var(--text-normal);
|
||
}
|
||
|
||
.ji-tag.is-success {
|
||
background-color: var(--theme-color-jiraIssueSuccessBg);
|
||
color: var(--text-normal);
|
||
}
|
||
}
|
||
|
||
.ji-inline-issue.jira-issue-container .ji-tag.ji-band,
|
||
.jira-issue-container .ji-tags .ji-tag.ji-band,
|
||
.jira-issue-container .ji-tags.has-addons .ji-tag.ji-band {
|
||
width: 1em;
|
||
height: 1em;
|
||
margin: 0 0 0 0.5em;
|
||
border-radius: 100%;
|
||
flex-shrink: 0;
|
||
flex-grow: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.jira-issue-container {
|
||
.ji-tags:has(.ji-tag.is-danger) {
|
||
border: solid 1px var(--theme-color-jiraIssueDangerBg);
|
||
|
||
.ji-tag.is-danger {
|
||
color: inherit;
|
||
flex-grow: 1;
|
||
|
||
&:last-child {
|
||
flex-grow: 0;
|
||
color: var(--theme-color-jiraIssueDanger);
|
||
background-color: var(--color-red);
|
||
border-radius: var(--radius-s);
|
||
border: var(--tag-border-width) solid var(--tag-border-color);
|
||
font-weight: var(--tag-weight);
|
||
padding: 0.25em 0.5em;
|
||
vertical-align: baseline;
|
||
line-height: var(--line-height-tight);
|
||
margin: 0.5em 0.5em 0.5em 0;
|
||
}
|
||
}
|
||
|
||
.ji-tag.is-danger.is-delete {
|
||
background-color: var(--theme-color-jiraIssueDeleteBg);
|
||
width: 1em;
|
||
height: 1em;
|
||
margin: 0 0 0 0.5em;
|
||
border-radius: 100%;
|
||
border-top-right-radius: 1em;
|
||
flex-shrink: 0;
|
||
flex-grow: 0;
|
||
padding: 0;
|
||
color: var(--theme-color-jiraIssueDanger);
|
||
}
|
||
}
|
||
}
|
||
|
||
.block-language-jira-search {
|
||
background-color: var(--embed-background);
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-left);
|
||
border-radius: var(--radius-m);
|
||
border-inline-end: var(--embed-border-right);
|
||
border-top: var(--embed-border-top);
|
||
overflow-x: auto;
|
||
|
||
.jira-issue-container .table {
|
||
color: inherit;
|
||
background-color: transparent;
|
||
}
|
||
|
||
.jira-issue-container .table td {
|
||
border-top: none;
|
||
border-bottom: none;
|
||
font-size: small;
|
||
padding: 0.5em;
|
||
border-color: var(--table-border-color);
|
||
|
||
&:first-child {
|
||
border-inline-start: none;
|
||
}
|
||
|
||
&:last-child {
|
||
border-inline-end: none;
|
||
}
|
||
}
|
||
|
||
.jira-issue-container .table th {
|
||
background: transparent;
|
||
border-top: none;
|
||
border-bottom: none;
|
||
padding: 0.5em;
|
||
color: var(--text-normal);
|
||
border-color: var(--table-border-color);
|
||
|
||
&:first-child {
|
||
border-inline-start: none;
|
||
}
|
||
|
||
&:last-child {
|
||
border-inline-end: none;
|
||
}
|
||
}
|
||
|
||
.jira-issue-container .table.is-striped tbody tr:not(.is-selected):nth-child(odd),
|
||
.jira-issue-container .table.is-striped tbody tr:not(.is-selected):nth-child(odd):hover {
|
||
background-color: var(--theme-color-jiraIssueTableStripe);
|
||
}
|
||
|
||
.jira-issue-container .table.is-striped tbody tr:not(.is-selected):nth-child(even),
|
||
.jira-issue-container .table.is-striped tbody tr:not(.is-selected):nth-child(even):hover {
|
||
background-color: transparent;
|
||
}
|
||
|
||
.jira-issue-container .search-footer {
|
||
margin-top: 0.5em;
|
||
padding: 0 0.5em 0 1em;
|
||
font-size: small;
|
||
align-items: center;
|
||
|
||
>div {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 1em;
|
||
}
|
||
}
|
||
}
|
||
|
||
.block-language-jira-count {
|
||
.jira-issue-container .ji-tags {
|
||
width: auto;
|
||
padding-inline-end: 0.5em;
|
||
|
||
.ji-tag,
|
||
.ji-tag.is-link {
|
||
text-decoration: none;
|
||
color: var(--text-normal);
|
||
cursor: default;
|
||
background-color: transparent;
|
||
|
||
&:last-child {
|
||
font-weight: bold;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Kanban */
|
||
body.theme-setting-overrideKanban {
|
||
.kanban-plugin {
|
||
gap: 0.5rem;
|
||
background: var(--theme-gradient-cardSetGenerated);
|
||
}
|
||
|
||
.kanban-plugin__lane {
|
||
background-color: var(--theme-color-kanbanLaneBg);
|
||
border: none;
|
||
border-radius: var(--radius-m);
|
||
box-shadow: var(--shadow-s);
|
||
}
|
||
|
||
.kanban-plugin__lane-header-wrapper {
|
||
border-bottom: none;
|
||
gap: 0.5em;
|
||
padding: 0.5em;
|
||
}
|
||
|
||
.kanban-plugin__lane-grip {
|
||
margin-inline-end: 0;
|
||
color: var(--theme-color-control);
|
||
}
|
||
|
||
.kanban-plugin__lane-setting-wrapper>div {
|
||
padding: 0.5em 1em;
|
||
}
|
||
|
||
.kanban-plugin__lane-setting-wrapper>div:last-child {
|
||
border: none;
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.kanban-plugin__grow-wrap>textarea {
|
||
/* Style as regular text field */
|
||
background: var(--background-input);
|
||
border-radius: var(--input-radius);
|
||
border: none;
|
||
box-shadow: 0 0 0 var(--input-border-width) var(--theme-color-base);
|
||
font-size: var(--font-ui-small);
|
||
line-height: normal;
|
||
padding: var(--size-4-1) var(--size-4-2);
|
||
}
|
||
|
||
.kanban-plugin__grow-wrap>textarea:focus {
|
||
box-shadow: 0 0 0 var(--input-border-width) var(--theme-color-base);
|
||
}
|
||
|
||
.kanban-plugin__item-button-wrapper {
|
||
border-top: none;
|
||
}
|
||
|
||
.kanban-plugin__lane-items {
|
||
gap: 0.5em;
|
||
margin: 0;
|
||
padding: 0.5em 0.5em 0;
|
||
}
|
||
|
||
.kanban-plugin__lane-items>.kanban-plugin__item-wrapper {
|
||
margin: 0;
|
||
}
|
||
|
||
.kanban-plugin__item {
|
||
border: none;
|
||
box-shadow: var(--shadow-s);
|
||
|
||
&.is-search-hit {
|
||
box-shadow: inherit;
|
||
}
|
||
}
|
||
|
||
.kanban-plugin__item:has(.markdown-source-view) {
|
||
border: var(--input-border-width) solid var(--background-modifier-border-focus);
|
||
background-color: var(--background-input);
|
||
|
||
.kanban-plugin__item-content-wrapper {
|
||
background: transparent;
|
||
}
|
||
|
||
.kanban-plugin__item-title-wrapper {
|
||
background: transparent;
|
||
}
|
||
|
||
.cm-contentContainer {
|
||
padding: 0;
|
||
}
|
||
|
||
.kanban-plugin__item-postfix-button {
|
||
/* Style as search input clear button */
|
||
border-radius: 100%;
|
||
background-color: var(--search-clear-button-color);
|
||
color: var(--background-secondary);
|
||
cursor: var(--cursor);
|
||
line-height: 0;
|
||
height: var(--search-clear-button-size);
|
||
width: var(--search-clear-button-size);
|
||
min-height: var(--search-clear-button-size);
|
||
min-width: var(--search-clear-button-size);
|
||
margin: auto;
|
||
padding: 0 0;
|
||
text-align: center;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
transition: color 0.15s ease-in-out;
|
||
|
||
.kanban-plugin__icon svg {
|
||
height: calc(0.8 * var(--search-clear-button-size));
|
||
width: calc(0.8 * var(--search-clear-button-size));
|
||
display: block;
|
||
color: inherit;
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.kanban-plugin__item-postfix-button:hover {
|
||
background-color: var(--text-normal);
|
||
transition: color 0.15s ease-in-out;
|
||
}
|
||
}
|
||
}
|
||
|
||
.kanban-plugin__drag-container>.kanban-plugin__item-wrapper .kanban-plugin__item {
|
||
border-color: none;
|
||
box-shadow: var(--theme-shadow-draggingItem);
|
||
}
|
||
|
||
.kanban-plugin__item-title-wrapper:not(:only-child) {
|
||
border-bottom: none;
|
||
}
|
||
|
||
.kanban-plugin__item-form {
|
||
border: none;
|
||
}
|
||
|
||
.kanban-plugin__item-form .kanban-plugin__item-input-wrapper {
|
||
padding: var(--input-border-width);
|
||
border: none;
|
||
background-color: transparent;
|
||
border-radius: 0;
|
||
min-height: var(--input-height);
|
||
}
|
||
|
||
/* Autocomplete menu when [[ is entered */
|
||
.kanban-plugin__autocomplete {
|
||
font-size: inherit;
|
||
min-width: 20ch;
|
||
max-width: 40ch;
|
||
max-height: 12rem;
|
||
}
|
||
|
||
.kanban-plugin__lane-form-wrapper {
|
||
background: var(--theme-color-controlSetBg);
|
||
border: none;
|
||
display: flex;
|
||
flex-direction: column;
|
||
padding: 0.5rem;
|
||
gap: 1rem;
|
||
box-shadow: var(--shadow-s);
|
||
border-radius: var(--radius-m);
|
||
top: 0.5em;
|
||
right: 0.5em;
|
||
width: auto;
|
||
|
||
.kanban-plugin__lane-input-wrapper {
|
||
padding: 0;
|
||
}
|
||
|
||
.kanban-plugin__checkbox-wrapper {
|
||
border: none;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.kanban-plugin__lane-input-actions {
|
||
padding: 0;
|
||
justify-content: flex-end;
|
||
}
|
||
}
|
||
|
||
.kanban-plugin__draggable-setting-container>.kanban-plugin__placeholder,
|
||
.kanban-plugin__setting-item-wrapper {
|
||
border: none;
|
||
}
|
||
|
||
.kanban-plugin__setting-item {
|
||
background: none;
|
||
padding: 1em 0 0;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Map View */
|
||
body.theme-setting-overrideMapView {
|
||
.mod-sidedock .workspace-leaf-content[data-type="map"] {
|
||
margin: 0.5rem 0;
|
||
}
|
||
|
||
.view-header {
|
||
border-bottom: none;
|
||
}
|
||
|
||
.map-view-main {
|
||
overflow: hidden;
|
||
border-radius: var(--tab-radius);
|
||
background-color: var(--theme-color-graphViewBg);
|
||
}
|
||
|
||
.map-view-main:before,
|
||
.map-view-main:after {
|
||
/* Match graph view */
|
||
background: transparent;
|
||
box-shadow: var(--theme-shadow-indent);
|
||
content: "";
|
||
display: block;
|
||
height: 1rem;
|
||
left: 0;
|
||
pointer-events: none;
|
||
position: absolute;
|
||
right: 0;
|
||
width: 120%;
|
||
z-index: 2;
|
||
}
|
||
|
||
.map-view-main:before {
|
||
top: -1rem;
|
||
}
|
||
|
||
.map-view-main:after {
|
||
bottom: -1rem;
|
||
}
|
||
|
||
.map-view-graph-controls {
|
||
background: var(--theme-color-controlSetBg);
|
||
border: none;
|
||
padding: 0.25rem;
|
||
gap: 0;
|
||
box-shadow: var(--theme-shadow-input);
|
||
border-radius: var(--radius-m);
|
||
top: var(--theme-length-controlSetSpacing);
|
||
left: var(--theme-length-controlSetSpacing);
|
||
min-width: 7em;
|
||
|
||
.graph-control-div {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
flex-direction: column;
|
||
justify-content: flex-start;
|
||
padding: 0;
|
||
|
||
.collapsible {
|
||
padding: 0;
|
||
|
||
label {
|
||
padding-inline-start: 0.5em;
|
||
}
|
||
}
|
||
}
|
||
|
||
& select,
|
||
& button {
|
||
flex-basis: calc(50% - 0.325em);
|
||
flex-shrink: 1;
|
||
flex-grow: 0;
|
||
}
|
||
|
||
.graph-control-follow-div {
|
||
display: flex;
|
||
gap: 0.5em;
|
||
align-content: baseline;
|
||
justify-content: flex-start;
|
||
padding: 0;
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.graph-control-follow-label {
|
||
margin: 0.1875em 0 0;
|
||
}
|
||
|
||
.graph-control-content {
|
||
width: 100%;
|
||
flex-shrink: 0;
|
||
padding: 0.5em 0;
|
||
margin: 0;
|
||
gap: 0.25em;
|
||
overflow: visible;
|
||
}
|
||
|
||
/* Presets section */
|
||
.graph-control-div:last-child .graph-control-content {
|
||
|
||
/* Presets dropdown */
|
||
& .dropdown.mv-map-control:first-child {
|
||
flex-shrink: 0;
|
||
flex-basis: 100%;
|
||
}
|
||
}
|
||
|
||
.top-right-controls.svelte-1sl5jax {
|
||
padding: 0;
|
||
top: 0.25em;
|
||
right: 0.25em;
|
||
}
|
||
}
|
||
|
||
.map-view-graph-controls.minimized {
|
||
min-width: 0;
|
||
}
|
||
|
||
.map-view-graph-controls.svelte-1sl5jax:not(.minimized):has(.top-right-controls:where(.svelte-1sl5jax)) {
|
||
/* Override styles that I think are inserted by Map View. Weird thing for a plugin to do. */
|
||
padding: 0.25rem;
|
||
}
|
||
|
||
.map-view-main {
|
||
|
||
.marker-cluster-small,
|
||
.marker-cluster-small div {
|
||
background-color: var(--theme-color-greenTransparent25);
|
||
}
|
||
|
||
.marker-cluster-medium,
|
||
.marker-cluster-medium div {
|
||
background-color: var(--theme-color-yellowTransparent25);
|
||
}
|
||
|
||
.marker-cluster-large,
|
||
.marker-cluster-large div {
|
||
background-color: var(--theme-color-orangeTransparent25);
|
||
}
|
||
}
|
||
|
||
.map-view-graph-controls .lbl-triangle {
|
||
border-top-left-radius: var(--radius-s);
|
||
border-bottom-left-radius: var(--radius-s);
|
||
font-size: var(--nav-item-size);
|
||
font-weight: var(--font-medium);
|
||
gap: 0.5em;
|
||
margin: 0;
|
||
padding: 0.25em 1.5em 0.25em 0.5em;
|
||
line-height: var(--theme-lineHeight-tight);
|
||
width: 1em;
|
||
display: flex;
|
||
flex-grow: 0;
|
||
flex-shrink: 0;
|
||
transition: none;
|
||
position: relative;
|
||
color: transparent;
|
||
top: 0;
|
||
}
|
||
|
||
.map-view-graph-controls .lbl-triangle:before {
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 0.5em;
|
||
content: "";
|
||
background-color: var(--theme-color-control);
|
||
display: block;
|
||
width: 10px;
|
||
height: 10px;
|
||
margin-top: -5px;
|
||
-webkit-mask-size: 100% 100%;
|
||
-webkit-mask-image: url('data:image/svg+xml; utf8, <svg width="24px" height="24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8L12 17L21 8"></path></svg>');
|
||
transition: transform 100ms ease-in-out;
|
||
transform: rotate(-90deg);
|
||
}
|
||
|
||
.map-view-graph-controls .controls-toggle:checked+.lbl-triangle {
|
||
transform: none;
|
||
}
|
||
|
||
.map-view-graph-controls .controls-toggle:checked+.lbl-triangle:before {
|
||
transform: rotate(0deg);
|
||
}
|
||
|
||
.map-view-graph-controls .lbl-toggle {
|
||
border-top-right-radius: var(--radius-s);
|
||
border-bottom-right-radius: var(--radius-s);
|
||
color: var(--text-faint);
|
||
font-size: var(--nav-item-size);
|
||
font-weight: var(--font-medium);
|
||
gap: 0.5em;
|
||
margin: 0;
|
||
padding: 0.25em 0.5em 0.25em 0;
|
||
line-height: var(--theme-lineHeight-tight);
|
||
display: flex;
|
||
width: auto;
|
||
flex-grow: 1;
|
||
flex-shrink: 1;
|
||
transition: none;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
|
||
.map-view-graph-controls .lbl-triangle:hover,
|
||
.map-view-graph-controls .graph-control-div:has(.lbl-toggle:hover) .lbl-triangle {
|
||
background-color: var(--nav-item-background-hover);
|
||
color: transparent;
|
||
}
|
||
|
||
.map-view-graph-controls .lbl-triangle:hover:before,
|
||
.map-view-graph-controls .graph-control-div:has(.lbl-toggle:hover) .lbl-triangle:before {
|
||
background-color: var(--theme-color-controlHover);
|
||
}
|
||
|
||
.map-view-graph-controls .lbl-toggle:hover,
|
||
.map-view-graph-controls .graph-control-div:has(.lbl-triangle:hover) .lbl-toggle {
|
||
color: var(--nav-item-color-hover);
|
||
background-color: var(--nav-item-background-hover);
|
||
font-weight: var(--font-medium);
|
||
}
|
||
}
|
||
|
||
.map-view-graph-controls .controls-toggle:checked+.lbl-triangle+.lbl-toggle+.graph-control-content {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.map-view-graph-controls .search-input-container {
|
||
width: 100%;
|
||
padding: var(--input-border-width);
|
||
|
||
&:before {
|
||
top: calc((var(--input-height) - var(--search-icon-size)) / 2 + var(--input-border-width));
|
||
}
|
||
}
|
||
|
||
.map-view-main {
|
||
.leaflet-control-container {
|
||
.leaflet-top {
|
||
top: var(--theme-length-controlSetSpacing);
|
||
}
|
||
|
||
.leaflet-right {
|
||
right: var(--theme-length-controlSetSpacing);
|
||
}
|
||
|
||
.leaflet-bottom {
|
||
bottom: var(--theme-length-controlSetSpacing);
|
||
}
|
||
|
||
.leaflet-left {
|
||
left: var(--theme-length-controlSetSpacing);
|
||
}
|
||
}
|
||
}
|
||
|
||
.map-view-main .leaflet-control-container .leaflet-top.leaflet-right {
|
||
background: var(--theme-color-controlSetBg);
|
||
border: none;
|
||
padding: 0.25rem;
|
||
box-shadow: var(--theme-shadow-input);
|
||
border-radius: var(--radius-m);
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 0.25rem;
|
||
|
||
& .leaflet-control {
|
||
border: none;
|
||
margin: 0;
|
||
}
|
||
|
||
& .leaflet-control-zoom {
|
||
padding: 0;
|
||
}
|
||
|
||
& a {
|
||
align-items: center;
|
||
background-color: transparent;
|
||
border-radius: var(--clickable-icon-radius);
|
||
border: none;
|
||
box-shadow: none;
|
||
color: var(--theme-color-control);
|
||
cursor: var(--cursor);
|
||
display: flex;
|
||
height: 2em;
|
||
justify-content: center;
|
||
min-height: var(--input-height);
|
||
opacity: var(--icon-opacity);
|
||
padding: 0.25rem;
|
||
text-decoration: none;
|
||
transition: opacity 0.15s ease-in-out;
|
||
width: 2em;
|
||
font-size: 1rem;
|
||
|
||
&.on {
|
||
opacity: var(--icon-opacity-hover);
|
||
color: var(--theme-color-controlLightweightActive);
|
||
background-color: var(--theme-color-interactiveActive);
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
& a:hover {
|
||
color: var(--theme-color-controlHover);
|
||
background-color: var(--background-modifier-hover);
|
||
}
|
||
}
|
||
}
|
||
|
||
.leaflet-touch .leaflet-bar a:first-child,
|
||
.leaflet-touch .leaflet-bar a:last-child {
|
||
border-radius: var(--clickable-icon-radius);
|
||
}
|
||
|
||
.cm-embed-block .block-language-mapview .map-view-main {
|
||
background-color: var(--embed-background);
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-left);
|
||
border-radius: var(--radius-m);
|
||
border-inline-end: var(--embed-border-right);
|
||
border-top: var(--embed-border-top);
|
||
margin: 0;
|
||
|
||
/* Open button */
|
||
& .map-view-graph-controls>.mv-map-control.mv-control-button {
|
||
border: none;
|
||
box-shadow: var(--theme-shadow-control);
|
||
background-color: var(--theme-color-controlLowWeightBg);
|
||
color: var(--theme-color-controlText);
|
||
font-size: var(--font-ui-smaller);
|
||
line-height: var(--line-height-tight);
|
||
min-height: 0;
|
||
padding: 0.25em 0.5em;
|
||
width: 100%;
|
||
margin-bottom: 0.5em;
|
||
}
|
||
|
||
& .map-view-graph-controls>.mv-map-control.mv-control-button :focus {
|
||
box-shadow: 0 0 0 3px var(--background-modifier-border-focus);
|
||
outline: none;
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
& .map-view-graph-controls>.mv-map-control.mv-control-button :hover {
|
||
border: none;
|
||
background: var(--theme-color-controlBgHover);
|
||
color: var(--theme-color-controlTextHover);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* Map view preset save-as modal */
|
||
.modal-content:has(.newPresetDialogGrid) {
|
||
padding: 1rem 1rem 1rem 2.5rem;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 0.5em;
|
||
|
||
.newPresetDialogLine:last-child {
|
||
display: flex;
|
||
justify-content: flex-end;
|
||
|
||
>button {
|
||
margin-inline-start: 0.5rem;
|
||
}
|
||
}
|
||
}
|
||
|
||
.geolink:has(.cm-underline) {
|
||
/* Don't make a double underline */
|
||
text-decoration-line: none;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Recent Files */
|
||
body.theme-setting-overrideRecentFiles {
|
||
.recent-files-title {
|
||
align-items: center;
|
||
padding-inline-end: 0.375em;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Style Settings */
|
||
body.theme-setting-overrideStyleSettings {
|
||
|
||
/* Settings modal */
|
||
.style-settings-heading {
|
||
border-bottom: none;
|
||
margin-top: 1.5em;
|
||
}
|
||
|
||
.style-settings-heading[data-level="0"] {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.setting-item+div>.style-settings-heading[data-level="0"],
|
||
.setting-item+.style-settings-heading[data-level="0"] {
|
||
margin-top: 1.5em;
|
||
}
|
||
|
||
/* Import/export modals */
|
||
.modal-style-settings {
|
||
/* Show shadow below buttons */
|
||
overflow: visible;
|
||
|
||
& .modal-content {
|
||
padding: 1em 1em 1em;
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
& .setting-item {
|
||
margin-bottom: 1em;
|
||
align-items: baseline;
|
||
}
|
||
|
||
& .setting-item:first-child {
|
||
margin-inline-start: 1.5em;
|
||
}
|
||
|
||
& textarea {
|
||
margin-top: var(--input-border-width);
|
||
margin-bottom: var(--input-border-width);
|
||
}
|
||
}
|
||
|
||
.setting-item-heading {
|
||
padding: 0 0.5em;
|
||
|
||
.style-settings-collapse-indicator,
|
||
.setting-item-name,
|
||
.extra-setting-button {
|
||
color: inherit;
|
||
}
|
||
}
|
||
|
||
.style-settings-collapse-indicator>svg {
|
||
width: 0.75rem;
|
||
height: 0.75rem;
|
||
margin-inline-start: 0.5rem;
|
||
}
|
||
|
||
.style-settings-heading[data-level="0"]+.style-settings-container,
|
||
.style-settings-heading[data-level="1"]+.style-settings-container,
|
||
.style-settings-heading[data-level="2"]+.style-settings-container,
|
||
.style-settings-heading[data-level="3"]+.style-settings-container,
|
||
.style-settings-heading[data-level="4"]+.style-settings-container,
|
||
.style-settings-heading[data-level="5"]+.style-settings-container,
|
||
.style-settings-heading[data-level="6"]+.style-settings-container {
|
||
padding-inline-start: calc(0.5em + 10px + 0.5em);
|
||
}
|
||
|
||
.style-settings-heading[data-level="0"]+.style-settings-container .style-settings-collapse-indicator {
|
||
margin-inline-start: 0;
|
||
}
|
||
|
||
&.theme-setting-enableIconsInSettings {
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="kakano-style"]+.style-settings-container {
|
||
.setting-item.setting-item-heading.style-settings-heading .style-settings-collapse-indicator:after {
|
||
margin-inline-start: 0.5em;
|
||
vertical-align: top;
|
||
display: inline-block;
|
||
width: 1rem;
|
||
height: 1rem;
|
||
margin: 0.125em 0 0 0.5em;
|
||
opacity: 75%;
|
||
}
|
||
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="heading-baseColor"] .style-settings-collapse-indicator:after {
|
||
filter: hue-rotate(0deg);
|
||
content: url("data:image/svg+xml,<svg width='100%' height='100%' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'><g><rect x='0' y='0' width='1' height='24' style='fill:rgb(255,0,0);'/><rect x='4' y='0' width='1' height='24' style='fill:rgb(255,255,0);'/><rect x='8' y='0' width='1' height='24' style='fill:rgb(0,255,0);'/><rect x='12' y='0' width='1' height='24' style='fill:rgb(0,255,255);'/><rect x='16' y='0' width='1' height='24' style='fill:rgb(0,0,255);'/><rect x='20' y='0' width='1' height='24' style='fill:rgb(255,0,255);'/><rect x='2' y='0' width='1' height='24' style='fill:rgb(255,127,0);'/><rect x='6' y='0' width='1' height='24' style='fill:rgb(127,255,0);'/><rect x='10' y='0' width='1' height='24' style='fill:rgb(0,255,127);'/><rect x='14' y='0' width='1' height='24' style='fill:rgb(0,127,255);'/><rect x='18' y='0' width='1' height='24' style='fill:rgb(127,0,255);'/><rect x='22' y='0' width='1' height='24' style='fill:rgb(255,0,127);'/><rect x='1' y='0' width='1' height='24' style='fill:rgb(255,63,0);'/><rect x='5' y='0' width='1' height='24' style='fill:rgb(191,255,0);'/><rect x='9' y='0' width='1' height='24' style='fill:rgb(0,255,63);'/><rect x='13' y='0' width='1' height='24' style='fill:rgb(0,191,255);'/><rect x='17' y='0' width='1' height='24' style='fill:rgb(63,0,255);'/><rect x='21' y='0' width='1' height='24' style='fill:rgb(255,0,191);'/><rect x='3' y='0' width='1' height='24' style='fill:rgb(255,191,0);'/><rect x='7' y='0' width='1' height='24' style='fill:rgb(63,255,0);'/><rect x='11' y='0' width='1' height='24' style='fill:rgb(0,255,191);'/><rect x='15' y='0' width='1' height='24' style='fill:rgb(0,63,255);'/><rect x='19' y='0' width='1' height='24' style='fill:rgb(191,0,255);'/><rect x='23' y='0' width='1' height='24' style='fill:rgb(255,0,63);'/></g></svg>");
|
||
opacity: 100%;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
body.theme-setting-overrideStyleSettings.theme-setting-enableIconsInSettings.theme-light {
|
||
.setting-item.setting-item-heading.style-settings-heading .style-settings-collapse-indicator:after {
|
||
filter: hue-rotate(calc(var(--base-h) * 1deg));
|
||
}
|
||
|
||
/* .setting-item.setting-item-heading.style-settings-heading[data-id="kakano-style"] .style-settings-collapse-indicator:after {
|
||
content: "TODO: logo goes here";
|
||
} */
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="kakano-style"]+.style-settings-container {
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="heading-ui-background"] .style-settings-collapse-indicator:after {
|
||
content: url("data:image/svg+xml,<svg width='100%' height='100%' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;'><g transform='matrix(1,0,0,0.981029,0.249756,0.225573)'><path d='M23.21,0.789L23.21,23.215L0.765,23.215L0.765,0.789L23.21,0.789ZM22.19,5.886L11.988,5.886L11.988,2.828L3.826,2.828L3.826,5.886L1.786,5.886L1.786,21.176L22.19,21.176L22.19,5.886Z' style='fill:hsl(0deg,75%,5%);stroke:hsl(0deg,75%,5%);stroke-width:2.04px;'/></g></svg>");
|
||
}
|
||
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="heading-notes-appearance"] .style-settings-collapse-indicator:after {
|
||
content: url("data:image/svg+xml,<svg width='100%' height='100%' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;'><g transform='matrix(1,0,0,1,-1,-2)'><g transform='matrix(0.913043,0,0,0.913043,1.04348,-5.63549)'><path d='M22.952,12.744L22.952,29.172L1.048,29.172L1.048,12.744L3.238,12.744L3.238,9.458L12,9.458L12,12.744L22.952,12.744Z' style='fill:none;stroke:hsl(0deg,75%,5%);stroke-width:2.19px;'/></g></g></svg>");
|
||
}
|
||
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="heading-typographySettings"] .style-settings-collapse-indicator:after {
|
||
content: url("data:image/svg+xml,<svg width='100%' height='100%' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' style='stroke:hsl(0deg,75%,5%);fill:hsl(0deg,75%,5%);fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'><path d='M8.39,13.544L6.734,5.84L6.686,5.84L5.03,13.544L8.39,13.544ZM8.846,2.864L13.382,20L9.782,20L8.99,16.376L4.43,16.376L3.638,20L0.038,20L4.574,2.864L8.846,2.864Z' style='fill-rule:nonzero;'/><path d='M19.886,13.544L19.886,16.088C19.886,16.44 19.822,16.744 19.694,17C19.566,17.256 19.402,17.464 19.202,17.624C19.002,17.784 18.782,17.9 18.542,17.972C18.302,18.044 18.07,18.08 17.846,18.08C17.398,18.08 17.078,17.904 16.886,17.552C16.694,17.2 16.598,16.776 16.598,16.28C16.598,15.704 16.742,15.248 17.03,14.912C17.318,14.576 17.798,14.336 18.47,14.192C18.678,14.144 18.91,14.068 19.166,13.964C19.422,13.86 19.662,13.72 19.886,13.544ZM13.838,11.048L16.814,11.048L16.814,10.688C16.814,10.176 16.942,9.768 17.198,9.464C17.454,9.16 17.838,9.008 18.35,9.008C18.91,9.008 19.306,9.148 19.538,9.428C19.77,9.708 19.886,10.096 19.886,10.592C19.886,11.024 19.79,11.352 19.598,11.576C19.406,11.8 19.062,11.976 18.566,12.104L16.694,12.608C16.118,12.768 15.626,12.952 15.218,13.16C14.81,13.368 14.474,13.628 14.21,13.94C13.946,14.252 13.75,14.628 13.622,15.068C13.494,15.508 13.43,16.032 13.43,16.64C13.43,17.072 13.486,17.508 13.598,17.948C13.71,18.388 13.886,18.784 14.126,19.136C14.366,19.488 14.686,19.764 15.086,19.964C15.486,20.164 15.974,20.264 16.55,20.264C17.35,20.264 18.002,20.164 18.506,19.964C19.01,19.764 19.454,19.328 19.838,18.656L19.886,18.656C19.934,18.88 19.986,19.108 20.042,19.34C20.098,19.572 20.182,19.792 20.294,20L23.462,20C23.302,19.616 23.194,19.256 23.138,18.92C23.082,18.584 23.054,18.112 23.054,17.504L23.054,10.712C23.054,10.136 22.994,9.604 22.874,9.116C22.754,8.628 22.526,8.208 22.19,7.856C21.854,7.504 21.382,7.232 20.774,7.04C20.166,6.848 19.366,6.752 18.374,6.752C17.75,6.752 17.162,6.82 16.61,6.956C16.058,7.092 15.578,7.316 15.17,7.628C14.762,7.94 14.438,8.348 14.198,8.852C13.958,9.356 13.838,9.984 13.838,10.736L13.838,11.048Z' style='fill-rule:nonzero;'/></svg>");
|
||
}
|
||
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="heading-editing"] .style-settings-collapse-indicator:after {
|
||
content: url("data:image/svg+xml,<svg width='100%' height='100%' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;'><path d='M12,20L21,20' style='fill:none;fill-rule:nonzero;stroke:hsl(0deg,75%,5%);stroke-width:2px;'/><path d='M16.5,3.5C16.898,3.102 17.438,2.879 18,2.879C19.164,2.879 20.121,3.836 20.121,5C20.121,5.562 19.898,6.102 19.5,6.5L7,19L3,20L4,16L16.5,3.5Z' style='fill:none;fill-rule:nonzero;stroke:hsl(0deg,75%,5%);stroke-width:2px;'/></svg>");
|
||
}
|
||
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="heading-mobile"] .style-settings-collapse-indicator:after {
|
||
content: url("data:image/svg+xml,<svg width='100%' height='100%' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;'><path d='M13,10L13,20C13,21.104 12.104,22 11,22L5,22C3.896,22 3,21.104 3,20L3,10C3,8.896 3.896,8 5,8L11,8C12.104,8 13,8.896 13,10Z' style='fill:none;stroke:hsl(0deg,75%,5%);stroke-width:2px;'/><path d='M5,4C5,2.903 5.903,2 7,2L19,2C20.097,2 21,2.903 21,4L21,20C21,21.097 20.097,22 19,22L16.6,22' style='fill:none;fill-rule:nonzero;stroke:hsl(0deg,75%,5%);stroke-width:2px;'/><path d='M8,18L8.01,18' style='fill:none;fill-rule:nonzero;stroke:hsl(0deg,75%,5%);stroke-width:2px;'/></svg>");
|
||
}
|
||
}
|
||
}
|
||
|
||
body.theme-setting-overrideStyleSettings.theme-setting-enableIconsInSettings.theme-dark {
|
||
.setting-item.setting-item-heading.style-settings-heading .style-settings-collapse-indicator:after {
|
||
filter: hue-rotate(calc(var(--base-h) * 1deg));
|
||
}
|
||
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="kakano-style"]+.style-settings-container {
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="heading-background"] .style-settings-collapse-indicator:after {
|
||
content: url("data:image/svg+xml,<svg width='100%' height='100%' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;'><g transform='matrix(1,0,0,0.981029,0.249756,0.225573)'><path d='M23.21,0.789L23.21,23.215L0.765,23.215L0.765,0.789L23.21,0.789ZM22.19,5.886L11.988,5.886L11.988,2.828L3.826,2.828L3.826,5.886L1.786,5.886L1.786,21.176L22.19,21.176L22.19,5.886Z' style='fill:hsl(0deg,86%,81%);stroke:hsl(0deg,86%,81%);stroke-width:2.04px;'/></g></svg>");
|
||
}
|
||
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="heading-notes"] .style-settings-collapse-indicator:after {
|
||
content: url("data:image/svg+xml,<svg width='100%' height='100%' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;'><g transform='matrix(1,0,0,1,-1,-2)'><g transform='matrix(0.913043,0,0,0.913043,1.04348,-5.63549)'><path d='M22.952,12.744L22.952,29.172L1.048,29.172L1.048,12.744L3.238,12.744L3.238,9.458L12,9.458L12,12.744L22.952,12.744Z' style='fill:none;stroke:hsl(0deg,86%,81%);stroke-width:2.19px;'/></g></g></svg>");
|
||
}
|
||
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="heading-typographySettings"] .style-settings-collapse-indicator:after {
|
||
content: url("data:image/svg+xml,<svg width='100%' height='100%' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' style='stroke:hsl(0deg,86%,81%);fill:hsl(0deg,86%,81%);fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'><path d='M8.39,13.544L6.734,5.84L6.686,5.84L5.03,13.544L8.39,13.544ZM8.846,2.864L13.382,20L9.782,20L8.99,16.376L4.43,16.376L3.638,20L0.038,20L4.574,2.864L8.846,2.864Z' style='fill-rule:nonzero;'/><path d='M19.886,13.544L19.886,16.088C19.886,16.44 19.822,16.744 19.694,17C19.566,17.256 19.402,17.464 19.202,17.624C19.002,17.784 18.782,17.9 18.542,17.972C18.302,18.044 18.07,18.08 17.846,18.08C17.398,18.08 17.078,17.904 16.886,17.552C16.694,17.2 16.598,16.776 16.598,16.28C16.598,15.704 16.742,15.248 17.03,14.912C17.318,14.576 17.798,14.336 18.47,14.192C18.678,14.144 18.91,14.068 19.166,13.964C19.422,13.86 19.662,13.72 19.886,13.544ZM13.838,11.048L16.814,11.048L16.814,10.688C16.814,10.176 16.942,9.768 17.198,9.464C17.454,9.16 17.838,9.008 18.35,9.008C18.91,9.008 19.306,9.148 19.538,9.428C19.77,9.708 19.886,10.096 19.886,10.592C19.886,11.024 19.79,11.352 19.598,11.576C19.406,11.8 19.062,11.976 18.566,12.104L16.694,12.608C16.118,12.768 15.626,12.952 15.218,13.16C14.81,13.368 14.474,13.628 14.21,13.94C13.946,14.252 13.75,14.628 13.622,15.068C13.494,15.508 13.43,16.032 13.43,16.64C13.43,17.072 13.486,17.508 13.598,17.948C13.71,18.388 13.886,18.784 14.126,19.136C14.366,19.488 14.686,19.764 15.086,19.964C15.486,20.164 15.974,20.264 16.55,20.264C17.35,20.264 18.002,20.164 18.506,19.964C19.01,19.764 19.454,19.328 19.838,18.656L19.886,18.656C19.934,18.88 19.986,19.108 20.042,19.34C20.098,19.572 20.182,19.792 20.294,20L23.462,20C23.302,19.616 23.194,19.256 23.138,18.92C23.082,18.584 23.054,18.112 23.054,17.504L23.054,10.712C23.054,10.136 22.994,9.604 22.874,9.116C22.754,8.628 22.526,8.208 22.19,7.856C21.854,7.504 21.382,7.232 20.774,7.04C20.166,6.848 19.366,6.752 18.374,6.752C17.75,6.752 17.162,6.82 16.61,6.956C16.058,7.092 15.578,7.316 15.17,7.628C14.762,7.94 14.438,8.348 14.198,8.852C13.958,9.356 13.838,9.984 13.838,10.736L13.838,11.048Z' style='fill-rule:nonzero;'/></svg>");
|
||
}
|
||
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="heading-editing"] .style-settings-collapse-indicator:after {
|
||
content: url("data:image/svg+xml,<svg width='100%' height='100%' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;'><path d='M12,20L21,20' style='fill:none;fill-rule:nonzero;stroke:hsl(0deg,86%,81%);stroke-width:2px;'/><path d='M16.5,3.5C16.898,3.102 17.438,2.879 18,2.879C19.164,2.879 20.121,3.836 20.121,5C20.121,5.562 19.898,6.102 19.5,6.5L7,19L3,20L4,16L16.5,3.5Z' style='fill:none;fill-rule:nonzero;stroke:hsl(0deg,86%,81%);stroke-width:2px;'/></svg>");
|
||
}
|
||
|
||
.setting-item.setting-item-heading.style-settings-heading[data-id="heading-mobile"] .style-settings-collapse-indicator:after {
|
||
content: url("data:image/svg+xml,<svg width='100%' height='100%' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;'><path d='M13,10L13,20C13,21.104 12.104,22 11,22L5,22C3.896,22 3,21.104 3,20L3,10C3,8.896 3.896,8 5,8L11,8C12.104,8 13,8.896 13,10Z' style='fill:none;stroke:hsl(0deg,86%,81%);stroke-width:2px;'/><path d='M5,4C5,2.903 5.903,2 7,2L19,2C20.097,2 21,2.903 21,4L21,20C21,21.097 20.097,22 19,22L16.6,22' style='fill:none;fill-rule:nonzero;stroke:hsl(0deg,86%,81%);stroke-width:2px;'/><path d='M8,18L8.01,18' style='fill:none;fill-rule:nonzero;stroke:hsl(0deg,86%,81%);stroke-width:2px;'/></svg>");
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Tasks */
|
||
body.theme-setting-overrideTasks {
|
||
.block-language-tasks {
|
||
background-color: var(--embed-background);
|
||
border-bottom: var(--embed-border-bottom);
|
||
border-inline-start: var(--embed-border-left);
|
||
border-radius: var(--radius-m);
|
||
border-inline-end: var(--embed-border-right);
|
||
border-top: var(--embed-border-top);
|
||
margin: 0;
|
||
padding: 0.5em;
|
||
}
|
||
|
||
.tasks-edit {
|
||
display: inline-flex;
|
||
}
|
||
|
||
.tasks-modal form {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 1.5em;
|
||
}
|
||
|
||
.tasks-modal-section+.tasks-modal-section {
|
||
margin: 0;
|
||
}
|
||
|
||
.tasks-modal-priorities {
|
||
gap: 1em 0.5em;
|
||
}
|
||
|
||
.tasks-modal-dates {
|
||
gap: 0.5em 0.5em;
|
||
}
|
||
|
||
.tasks-modal-priorities label {
|
||
grid-row-end: 3;
|
||
margin: 0;
|
||
padding: 0 0.25em;
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Community Plugin: Plugin Update Tracker */
|
||
|
||
body.theme-setting-overridePluginUpdateTracker {
|
||
.plugin-update-tracker-icon {
|
||
background-color: var(--theme-color-baseTransparent12);
|
||
border-radius: 9999px;
|
||
padding: 0.25rem;
|
||
|
||
.plugin-update-tracker-icon-chip {
|
||
color: var(--flair-color);
|
||
font-size: var(--font-ui-smaller);
|
||
letter-spacing: 0.05em;
|
||
margin-inline-start: 0.25em;
|
||
line-height: 1;
|
||
padding: 0.375em 0.75em;
|
||
text-transform: uppercase;
|
||
width: 1rem;
|
||
height: 1rem;
|
||
border-radius: 9999px;
|
||
}
|
||
|
||
&.plugin-update-tracker-icon--updates-available .plugin-update-tracker-icon-chip {
|
||
background-color: var(--theme-color-orangeDarkened);
|
||
}
|
||
|
||
&.plugin-update-tracker-icon--no-updates-available .plugin-update-tracker-icon-chip {
|
||
background-color: var(--theme-color-greenDarkened);
|
||
}
|
||
}
|
||
|
||
@media (hover: hover) {
|
||
.plugin-update-tracker-icon:hover {
|
||
color: var(--theme-color-controlHover);
|
||
background-color: var(--background-modifier-hover);
|
||
|
||
svg.plugin-update-tracker-icon-plug-icon {
|
||
color: var(--theme-color-controlHover);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* Bloody stupid HTML classes */
|
||
|
||
&.theme-setting-distinguishNonContentTabs .workspace-leaf.mod-active .workspace-leaf-content[data-type^="swar8080"],
|
||
&.theme-setting-distinguishNonContentTabs.is-focused .workspace-leaf.mod-active .workspace-leaf-content[data-type^="swar8080"] {
|
||
.view-header {
|
||
background-color: var(--theme-color-tabNavActiveBg);
|
||
border-bottom: none;
|
||
|
||
.mod-fade:after {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
.view-content {
|
||
padding: 0;
|
||
background: var(--theme-gradient-DarkenedTopToBottom);
|
||
}
|
||
}
|
||
|
||
/* TODO: Match view-header for web view */
|
||
|
||
/* Match view-header for web view */
|
||
.frrqx {
|
||
background-color: var(--theme-color-tabNavActiveBg);
|
||
border-bottom: none;
|
||
}
|
||
|
||
.frrqx:before {
|
||
content: "Select all";
|
||
margin-right: 0.5em;
|
||
}
|
||
|
||
/* Match .community-modal-search-results-wrapper */
|
||
.dZeFDr {
|
||
flex-direction: row;
|
||
flex-wrap: wrap;
|
||
border: 0;
|
||
padding: 1.5em;
|
||
gap: 1.5em;
|
||
background: transparent;
|
||
|
||
/* Match .community-item */
|
||
.dDdsrb {
|
||
margin: 0;
|
||
background: var(--theme-color-communityItemBg);
|
||
border-radius: var(--radius-m);
|
||
border: none;
|
||
box-shadow: var(--shadow-l);
|
||
cursor: var(--cursor);
|
||
padding: 0;
|
||
position: relative;
|
||
max-width: 100%;
|
||
|
||
.hjuwXh {
|
||
border: none;
|
||
align-items: center;
|
||
padding: 0.5em 0.5em 0.5em 1rem;
|
||
}
|
||
|
||
/* Match .community-item-name */
|
||
h2.iMNRsU {
|
||
font-size: var(--font-ui-medium);
|
||
text-align: left;
|
||
font-weight: var(--font-semibold);
|
||
padding: 0;
|
||
margin: 0 0.5em 0 0;
|
||
}
|
||
|
||
.emNspu {
|
||
font-size: var(--font-ui-small);
|
||
flex-direction: column;
|
||
border: none;
|
||
|
||
/* Match .community-item-author etc. */
|
||
>* {
|
||
display: block;
|
||
padding: 0 1rem;
|
||
border: none;
|
||
line-height: var(--line-height-tight);
|
||
color: var(--text-normal);
|
||
}
|
||
}
|
||
|
||
/* Match to .mod-collapsible */
|
||
.ljPreH {
|
||
border-radius: var(--radius-s);
|
||
color: var(--text-faint);
|
||
font-size: var(--nav-item-size);
|
||
font-weight: var(--font-medium);
|
||
padding: 0.25em 0.5em 0.25em 0;
|
||
line-height: var(--theme-lineHeight-tight);
|
||
display: flex;
|
||
align-items: top;
|
||
width: 100%;
|
||
background-color: transparent;
|
||
margin: 0;
|
||
|
||
.dzHLvC {
|
||
margin: 0 0 0 0.6em;
|
||
}
|
||
|
||
.hBsmvY {
|
||
font-size: var(--font-ui-medium);
|
||
font-weight: normal;
|
||
}
|
||
}
|
||
|
||
.kHzOAR {
|
||
width: calc(100% - 1.5rem);
|
||
overflow: auto;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* #endregion */
|
||
/* #region Dev stuff */
|
||
|
||
/* Show border of content area clearly */
|
||
/* .cm-contentContainer > .cm-content {
|
||
background-color: rgba(255, 0, 0, 0.1);
|
||
} */
|
||
|
||
/* #endregion */
|