/* @settings

name: Path Finder
id: obsidina-path-finder
settings:
# Link
    - 
        id: path-finder-link
        title: Link
        title.zh: 边
        type: heading
        level: 2

    # Link Stroke
    -
        id: path-finder-link-stroke
        title: Link Stroke
        title.zh: 边颜色
        type: variable-themed-color
        format: hex
        default-light: '#000000'
        default-dark: '#FFFFFF'

    # Link Stroke Opacity
    - 
        id: path-finder-link-stroke-opacity
        title: Link Stroke Opacity
        title.zh: 边透明度
        type: variable-number-slider
        default: 0.6
        min: 0
        max: 1
        step: 0.05

    # Link Stroke Width
    - 
        id: path-finder-link-stroke-width
        title: Link Stroke Width
        title.zh: 边宽度
        type: variable-number
        format: px
        default: 2
# Selected Link
    -
        id: path-finder-link-selected
        title: Selected Link
        title.zh: 被选中边
        type: heading
        level: 3

    # Selected Link Stroke
    -
        id: path-finder-link-selected-stroke
        title: Selected Link Stroke
        title.zh: 被选中边颜色
        type: variable-color
        format: hex
        default: '#800080'

    # Selected Link Stroke Opacity
    -
        id: path-finder-link-selected-stroke-opacity
        title: Selected Link Stroke Opacity
        title.zh: 被选中边透明度
        type: variable-number-slider
        default: 1
        min: 0
        max: 1
        step: 0.05

    # Selected Link Stroke Width
    -
        id: path-finder-link-selected-stroke-width
        title: Selected Link Stroke Width
        title.zh: 被选中边宽度
        type: variable-number
        default: 3
        format: px

# Unselected Link
    -
        id: path-finder-link-unselected
        title: Unselected Link
        title.zh: 未被选中边
        type: heading
        level: 3

    # Unselected Link Stroke Opacity
    -
        id: path-finder-link-unselected-stroke-opacity
        title: Unselected Link Stroke Opacity
        title.zh: 未被选中边透明度
        type: variable-number-slider
        default: 0.3
        min: 0
        max: 1
        step: 0.05

    # Unselected Link Stroke Width
    -
        id: path-finder-link-unselected-stroke-width
        title: Unselected Link Stroke Width
        title.zh: 未被选中边宽度
        type: variable-number
        default: 1
        format: px

# Node
    -
        id: path-finder-node
        title: Node
        title.zh: 节点
        type: heading
        level: 2

    # When cursor on node
    -
        id: path-finder-node-cursor
        title: When cursor on node
        title.zh: 鼠标在节点上时
        type: variable-text
        default: grab
        description: See https://developer.mozilla.org/en-US/docs/web/css/cursor#try_it for detail.
        description.zh: 参见https://developer.mozilla.org/zh-CN/docs/web/css/cursor#尝试一下

    # Node radius
    -
        id: path-finder-node-radius
        title: Node Radius
        title.zh: 节点半径
        type: variable-number
        default: 10
        format: px
    # Node Opacity
    -
        id: path-finder-node-opacity
        title: Node Opacity
        title.zh: 节点透明度
        type: variable-number-slider
        default: 0.8
        min: 0
        max: 1
        step: 0.05

    # Node Stroke
    -
        id: path-finder-node-stroke
        title: Node Stroke
        title.zh: 节点边框颜色
        type: variable-themed-color
        format: hex
        default-light: '#000000'
        default-dark: '#FFFFFF'


    # Node Stroke Width
    -
        id: path-finder-node-stroke-width
        title: Node Stroke Width
        title.zh: 节点边框宽度
        type: variable-number
        default: 1.5
        format: px

    # Node Stroke Opacity
    -
        id: path-finder-node-stroke-opacity
        title: Node Stroke Opacity
        title.zh: 节点边框透明度
        type: variable-number-slider
        default: 1
        min: 0
        max: 1
        step: 0.05

    ## Node Text Fill
    #-
    #    id: path-finder-node-text-fill
    #    title: Node Text Fill
    #    title.zh: 节点文字填充
    #    type: variable-themed-color
    #    default-light: '#000000'
    #    default-dark: '#FFFFFF'
    
    # Node Text Stroke Width
    -
        id: path-finder-node-text-stroke-width
        title: Node Text Stroke Width
        title.zh: 节点文字边框宽度
        type: variable-number
        default: 0.1
        format: px
    
    # Node Text Font Size
    -
        id: path-finder-node-text-font-size
        title: Node Text Font Size
        title.zh: 节点文字字体大小
        type: variable-text
        default: large
    
    # Node Text Opacity
    -
        id: path-finder-node-text-opacity
        title: Node Text Opacity
        title.zh: 节点文字透明度
        type: variable-number-slider
        default: 0.5
        min: 0
        max: 1
        step: 0.05

    # Node Text Anchor
    -
        id: path-finder-node-text-anchor
        title: Node Text anchor
        title.zh: 节点文字对齐模式
        type: variable-select
        default: middle
        options:
            -
                label: Start
                label.zh: 左对齐
                value: start
            -
                label: Middle
                label.zh: 居中
                value: middle
            -
                label: End
                label.zh: 右对齐
                value: end

# Fixed Node
    -
        id: path-finder-node-fixed
        title: Fixed Node
        title.zh: 固定节点
        type: heading
        level: 3

    # Fixed Node Radius
    -
        id: path-finder-node-fixed-radius
        title: Fixed Node Radius
        title.zh: 固定节点半径
        type: variable-number
        default: 10
        format: px

    # Fixed Node Stroke Width
    -
        id: path-finder-node-fixed-stroke-width
        title: Fixed Node Stroke Width
        title.zh: 固定节点边框宽度
        type: variable-number
        default: 3
        format: px

# Selected Node
    -
        id: path-finder-node-selected
        title: Selected Node
        title.zh: 已选中节点
        type: heading
        level: 3

    # Selected Node radius
    -
        id: path-finder-node-selected-radius
        title: Selected Node Radius
        title.zh: 已选中节点半径
        type: variable-number
        default: 10
        format: px

    # Selected Node Fill
    -
        id: path-finder-node-selected-fill
        title: Selected Node Fill
        title.zh: 已选中节点填充
        type: variable-color
        format: hex
        default: '#800080'

    # Selected Node Stroke
    -
        id: path-finder-node-selected-stroke
        title: Selected Node Stroke
        title.zh: 已选中节点边框
        type: variable-themed-color
        format: hex
        default-light: '#000000'
        default-dark: '#FFFFFF'

    # Selected Node Opacity
    -
        id: path-finder-node-selected-opacity
        title: Selected Node Opacity
        title.zh: 已选中节点透明度
        type: variable-number-slider
        default: 1
        min: 0
        max: 1
        step: 0.05

    # Selected Node Text Font Size
    -
        id: path-finder-node-selected-text-font-size
        title: Selected Node Text Font Size
        title.zh: 已选中节点文字字体大小
        type: variable-text
        default: large
    
    # Selected Node Text Opacity
    -
        id: path-finder-node-selected-text-opacity
        title: Selected Node Text Opacity
        title.zh: 已选中节点文字透明度
        type: variable-number-slider
        default: 1
        min: 0
        max: 1
        step: 0.05

# Center Node
    -
        id: path-finder-node-center
        title: Center Node
        title.zh: 中心节点
        type: heading
        level: 3

    # Center Node radius
    -
        id: path-finder-node-center-radius
        title: Center Node Radius
        title.zh: 中心节点半径
        type: variable-number
        default: 15
        format: px

    # Center Node Fill
    -
        id: path-finder-node-center-fill
        title: Center Node Fill
        title.zh: 中心节点填充颜色
        type: variable-color
        format: hex
        default: '#800080'

    # Center Node Stroke
    -
        id: path-finder-node-center-stroke
        title: Center Node Stroke
        title.zh: 中心节点边框颜色
        type: variable-themed-color
        format: hex
        default-light: '#000000'
        default-dark: '#FFFFFF'
    
    # Center Node Stroke Width
    -
        id: path-finder-node-center-stroke-width
        title: Center Node Stroke Width
        title.zh: 中心节点边框宽度
        type: variable-number
        default: 3
        format: px

    # Center Node Opacity
    -
        id: path-finder-node-center-opacity
        title: Center Node Opacity
        title.zh: 中心节点透明度
        type: variable-number-slider
        default: 1
        min: 0
        max: 1
        step: 0.05

    # Center Node Text Font Size
    -
        id: path-finder-node-center-text-font-size
        title: Center Node Text Font Size
        title.zh: 中心节点文字字体大小
        type: variable-text
        default: x-large
    
    # Center Node Text Opacity
    -
        id: path-finder-node-center-text-opacity
        title: Center Node Text Opacity
        title.zh: 中心节点文字透明度
        type: variable-number-slider
        default: 1
        min: 0
        max: 1
        step: 0.05

# Unselected Node
    -
        id: path-finder-node-unselected
        title: Unselected Node
        title.zh: 未选中节点
        type: heading
        level: 3

    # Unselected Node radius
    -
        id: path-finder-node-unselected-radius
        title: Unselected Node Radius
        title.zh: 未选中节点半径
        type: variable-number
        default: 10
        format: px

    # Unselected node Opacity
    -
        id: path-finder-node-unselected-opacity
        title: Unselected Node Opacity
        title.zh: 未选中节点透明度
        type: variable-number-slider
        default: 0.5
        min: 0
        max: 1
        step: 0.05

    # Unselected Node Fill
    -
        id: path-finder-node-unselected-fill
        title: Unselected Node Fill
        title.zh: 未选中节点填充颜色
        type: variable-themed-color
        format: hex
        default-light: '#000000'
        default-dark: '#FFFFFF'

    # Unselected Node Stroke
    -
        id: path-finder-node-unselected-stroke
        title: Unselected Node Stroke
        title.zh: 未选中节点边框颜色
        type: variable-themed-color
        format: hex
        default-light: '#000000'
        default-dark: '#FFFFFF'
    
    # Unselected Node Text Opacity
    -
        id: path-finder-node-unselected-text-opacity
        title: Unselected Node Text Opacity
        title.zh: 未选中节点文字透明度
        type: variable-number-slider
        default: 0.1
        min: 0
        max: 1
        step: 0.05
*/
.path-finder.link {
    fill: none;
    stroke: var(--path-finder-link-stroke, var(--text-normal));
    stroke-opacity: var(--path-finder-link-stroke-opacity, 0.6);
    stroke-width: var(--path-finder-link-stroke-width, 2px);
}

.path-finder.link.selected {
    stroke: var(--path-finder-link-selected-stroke, purple);
    stroke-opacity: var(--path-finder-link-selected-stroke-opacity, 1);
    stroke-width: var(--path-finder-link-selected-stroke-width, 3px);
}

.path-finder.link.unselected {
    stroke-opacity: var(--path-finder-link-unselected-stroke-opacity, 0.3);
    stroke-width: var(path-finder-link-unselected-stroke-width, 1px);
}

.path-finder.node {
    cursor: grab;
    /* fill: #000; */
    stroke: var(--path-finder-node-stroke, var(--text-normal));
    stroke-width: var(--path-finder-node-stroke-width, 1.5px);
    stroke-opacity: var(--path-finder-node-stroke-opacity, 1);
    opacity: var(--path-finder-node-opacity, 0.8);
}

.path-finder.node.fixed {
    stroke-width: var(--path-finder-node-fixed-stroke-width, 3px);
    /* fill: red; */
}

.path-finder.node.selected {
    fill: var(--path-finder-node-selected-fill, purple);
    stroke: var(--path-finder-node-selected-stroke, var(--text-normal));
    opacity: var(--path-finder-node-selected-opacity, 1);
}

.path-finder.node.center {
    fill: var(--path-finder-node-selected-fill, purple);
    stroke: var(--path-finder-node-selected-stroke, var(--text-normal));
    opacity: var(--path-finder-node-selected-opacity, 1);
}

.path-finder.node.unselected {
    fill: var(--path-finder-unselected-node-fill,inherit);
    stroke: var(--path-finder-node-unselected-stroke,inherit);
    opacity: var(--path-finder-unselected-node-opacity, 0.5);
}

.path-finder.node-circle {
    r: var(--path-finder-node-radius,10px);
}

.path-finder.node-circle.unselected{
    r: var(--path-finder-node-unselected-radius,var(--path-finder-node-radius,10px));
    /* r: unset; */
}

.path-finder.node-circle.selected{
    r: var(--path-finder-node-selected-radius,var(--path-finder-node-radius,10px));
    /* r: unset; */
}

.path-finder.node-circle.center {
    r: var(--path-finder-node-center-radius,15px);
    stroke-width: var(--path-finder-node-center-stroke-width,3px);
}

.path-finder.node-text {
    fill: var(--path-finder-node-text-fill,var(--text-normal));
    stroke-width: var(--path-finder-node-text-stroke-width,0.1px);
    font-size: var(--path-finder-node-text-stroke-width,large);
    opacity: var(--path-finder-node-text-opacity,0.5);
    text-anchor: var(--path-finder-node-text-anchor,middle);
}

.path-finder.node-text.selected {
    font-size: var(--path-finder-node-selected-text-font-size,large);
    opacity: var(--path-finder-node-selected-text-opacity,1);
}

.path-finder.node-text.center {
    font-size: var(--path-finder-node-center-text-font-size,x-large);
    opacity: var(--path-finder-node-center-text-opacity,1);
}

.path-finder.node-text.unselected {
    opacity: var(--path-finder-node-unselected-text-opacity,0.1);
}

.path-finder.panel-container {
    position: absolute;
    left: 8px;
    top: 8px;
    padding: 6px 16px 8px 8px;
    background-color: var(--background-primary-alt);
    min-width: 140px;
    max-width: 240px;
    border: 1px solid var(--background-modifier-border);
    border-radius: 6px;
    max-height: calc(100% - 16px);
    overflow: auto;
}

.path-finder.panel-container.is-close {
    background-color: var(--background-primary);
    border: 1px solid transparent;
    padding: 6px 8px 2px 8px;
    min-width: inherit;
}

.path-finder.panel-button {
    color: var(--text-faint);
    cursor: var(--cursor);
    background-color: var(--background-primary);
    z-index: 1;
}

.path-finder.panel-button.mod-open {
    width: 20px;
    height: 20px;
    display: none
}

.path-finder.panel-container.is-close .path-finder.panel-button.mod-open {
    display: flex;
}

.path-finder.panel-button.mod-close {
    width: 20px;
    height: 20px;
    position: absolute;
    top: 5px;
    right: 6px;
}

.path-finder.panel-button.mod-prev {
    background-color: var(--background-primary);
    width: 20px;
    height: 20px;
    display: flex;
    position: absolute;
    top: 5px;
    left: 6px;
}

.path-finder.panel-container.is-close .path-finder.panel-button.mod-prev {
    display: none;
}

.path-finder.panel-button.mod-next {
    background-color: var(--background-primary);
    width: 20px;
    height: 20px;
    display: flex;
    position: absolute;
    top: 5px;
    right: 6px;
}

.path-finder.panel-container.is-close .path-finder.panel-button.mod-next {
    display: none;
}

.path-finder.panel-display {
    display: block;
    overflow: auto;
    padding: 6px 8px 2px 8px;
}

.path-finder.panel-display.path-item {
    border: 1px solid var(--background-modifier-border);
    border-radius: 6px;
    background-color: var(--background-primary-alt);
    margin-top: 5px;
    margin-bottom: 5px;
}

.path-finder.panel-display.path-item.selected {
    border: 1px solid var(--background-modifier-border);
    border-radius: 6px;
    background-color: var(--background-primary);
    margin-top: 5px;
    margin-bottom: 5px;
}

.path-finder.panel-container.is-close .path-finder.panel-display {
    display: none;
}

.path-finder.panel-title {
    position: sticky;
    top: 30px;
    margin-top: 30px;
    margin-bottom: 5px;
}

.path-finder.panel-container.is-close .path-finder.panel-title {
    display: none;
}

.path-finder.panel-title.title-text {
    text-align: center;
    margin: auto;
}

.path-finder.alias-icon {
    position: absolute;
    top: 5px;
    right: 6px;
}

.path-finder.suggest-item {
    position: relative;
}

.path-finder.suggest-item.item-name {
    font-size: large;
    font-weight: bold;
    color: var(--h4-color);
    margin-top: 5px;
    margin-bottom: 5px;
}

.path-finder.suggest-item.item-path {
    font-size: small;
    opacity: 0.8;
    margin-top: 5px;
    margin-bottom: 5px;
}

.path-finder.left-button-container {
    height: 100%;
    width: 10%;
    float: left;
    display: flex;
    justify-content: center;
}

.path-finder.left-button-container.left-button {
    display: block;
    margin: 0 auto;
    width: 100%;
}

.path-finder.right-button-container {
    height: 100%;
    width: 10%;
    float: left;
    display: flex;
    justify-content: center;
}

.path-finder.right-button-container.right-button {
    display: block;
    margin: 0 auto;
    width: 100%;
}

.path-finder.path-container {
    height: 100%;
    width: 80%;
    float: left;
    justify-content: center;
}

.path-finder.path-container.title-container {
    height: 10%;
    width: 100%;
    display: flex;
    justify-content: center;
}

.path-finder.path-container.content-container {
    height: 90%;
    width: 100%;
    overflow: scroll;
}