/* =========================================
   Reset & Base
   ========================================= */

@font-face {
    font-family: "Anthropic Sans Web Text";
    src: url("./claude_fonts/AnthropicSansWebText.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Anthropic Serif Web Text";
    src: url("./claude_fonts/AnthropicSerifWebText.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Anthropic Mono Variable";
    src: url("./claude_fonts/AnthropicMonoVariable.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Noto Serif SC";
    src: url("./claude_fonts/NotoSerifSC-VariableFont_wght.ttf") format("truetype");
    font-weight: 200 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "UnifrakturMaguntia";
    src: url("./claude_fonts/UnifrakturMaguntia-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
* {
    box-sizing: border-box;
    outline-color: #2c84db;
}

*, :before, :after {
    border-color: var(--border-color);
    border-width: 0;
    border-style: solid;
}

html {
    font-size: 16px;
    background-color: var(--bg-color);
    display: block;
}

html, :host {
    line-height: 1.5;
    tab-size: 4;
}

html, body {
    font-family: var(--font-sans);
}

/* =========================================
   CSS Variables
   ========================================= */

:root {
    /*--- Color ---*/
    --bg-color: #262624;
    --hover-color: #141413;
    --font-color: #faf9f5;
    --border-color: #dedcd1;
    --border-color-15: #dedcd126;
    --border-color-30: #dedcd14d;
    --sidebar-font-color: #c2c0b6;

    /* File search popup */
    --file-search-list-font-color: #c2c0b6;
    --file-search-list-bg-color: #2c2c2a;
    --file-search-list-focus-bg-color: #1f1e1d;

    /* Input / YAML background */
    --button-bg-color: #30302e;

    /* Sidebar gradient */
    --sidebar-gradient-to: #30302E99;
    --sidebar-gradient-from: #30302E4D;

    /* Scrollbar */
    --scrollbar-color: #dedcd159;
    --scrollbar-hover-color: #a5a49d;

    /* Code block */
    --pre-bg-color: #30302E80;
    --pre-border-color: #dcdcd126;
    --pre-inputfont-color: #9a9c92;

    /* Horizontal rule */
    --hr-color: #dedcd14d;

    /* Table borders */
    --table-th-border: #dedcd199;
    --table-td-border: #dedcd14d;

    /* Inline code */
    --code-bg-color: #c2c0b60d;
    --code-font-color: #fe8181;
    --code-border: #dedcd126;

    /* Blockquote */
    --quote-font-color: #c2c0b6;
    --quote-boder: #dedcd126;

    /* Accent */
    --LOGO-color: #D97757;

    /*--- Shadow ---*/
    --border-100: 51 16.5% 84.5%;
    --border-200: 51 16.5% 84.5%;
    --border-300: 51 16.5% 84.5%;
    --always-black: 0 0% 0%;
    --box-shadow-search: 0 0 #0000, 0 0 #0000, 0 25px 50px -12px rgb(0 0 0 / .25);
    --box-shadow-userinput: 0 20px 52px -26px rgb(0 0 0 / 58%), 0 8px 20px -14px rgb(0 0 0 / 42%), 0 0 0 0.5px hsla(var(--border-300) / 0.18);
    --box-shadow-userinput-hover: 0 24px 62px -28px rgb(0 0 0 / 66%), 0 10px 24px -14px rgb(0 0 0 / 48%), 0 0 0 0.5px hsla(var(--border-200) / 0.28);
    --box-shadow-userinput-focus: 0 26px 68px -28px rgb(0 0 0 / 72%), 0 12px 28px -14px rgb(0 0 0 / 54%), 0 0 0 0.5px hsla(var(--border-200) / 0.32);
    /*--- Font ---*/
    --font-serif: "Anthropic Serif Web Text", Georgia, "Times New Roman", "Noto Serif SC";
    --font-sans: "Anthropic Sans Web Text", system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --font-mono: "Anthropic Mono Variable", ui-monospace, monospace;
    --font-weight: 360;
    --font-strong: 530;
    --pre-inputfont-weight: 400;
    --sidebar-font-weight: 400;

    /*--- Radius (reference) ---*/
    --raduis-8: 8px;
    --raduis-12: 12px;
    --raduis-20: 20px;

    /*--- Replacement ---*/
    --text-color: var(--sidebar-font-color);
}

/* =========================================
   Plugin Overrides
   ========================================= */

#plugin-action-buttons .action-item {
    color: var(--sidebar-font-color) !important;
    border-color: var(--border-color-15) !important;
    border-width: 0.5px !important;
}

.typora-sourceview-on #toggle-sourceview-btn {
    background: transparent !important;
}

.export-detail {
    background-color: var(--hover-color)!important;
}

.export-item.active {
    background-color: var(--hover-color)!important;
}

/* =========================================
   Focus Mode (F8)
   ========================================= */

/* Non-focused blocks */
.on-focus-mode .md-end-block:not(.md-focus):not(.md-focus-container) * {
    color: #333333;
    opacity: 0.6;
}

/* Focused blocks */
.on-focus-mode .md-focus,
.on-focus-mode .md-focus-container {
    color: var(--font-color);
}

/* Non-focused images & checkboxes */
.on-focus-mode .md-end-block:not(.md-focus) img,
.on-focus-mode .md-task-list-item:not(.md-focus-container) > input {
    opacity: 0.3;
}

/* Focused images & SVGs stay sharp */
.on-focus-mode #write .md-focus img,
.on-focus-mode #write .md-focus svg {
    opacity: 1;
}

/* =========================================
   Settings Panel
   ========================================= */

.pane-group {
    color: var(--sidebar-font-color) !important;
}

.pane-sm.sidebar .nav-group-item.active {
    background-color: var(--hover-color) !important;
}

/* =========================================
   Global Styles
   ========================================= */

body {
    line-height: inherit;
    color: var(--font-color);
    font-size: 1rem;
    font-weight: var(--font-weight);
    --item-hover-bg-color: var(--hover-color);
    --side-bar-bg-color: var(--bg-color);
}

/*--- Writing area ---*/
#write {
    font-family: var(--font-serif);
    width: 100%;
    max-width: 752px;
    padding: 2.25rem 1rem 4.375rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    caret-color: #D97757;
}

/*--- Selection ---*/
::selection {
    background-color: var(--LOGO-color) !important;
    color: var(--font-color) !important;
}

.md-fences .CodeMirror-selected,
.CodeMirror-selected,
.md-fences .CodeMirror-selectedtext {
    background-color: #1e3a5f !important;
}

.md-fences .CodeMirror-focused .CodeMirror-selected {
    background-color: #1e3a5f !important;
}

/*--- Context menu ---*/

.ty-tooltip.shown {
    display: none!important;
}

#context-menu,
.dropdown-menu {
    box-shadow:
        0 0 0 0.5px rgba(255 255 255 / .1),
        0 8px 32px rgba(0 0 0 / .5),
        0 2px 8px rgba(0 0 0 / .4);
}

#context-menu,
.dropdown-menu {
    border-radius: 10px;
}

/* Add a subtle entrance only to top-level context menus, not submenus */
#context-menu,
#file-menu.show,
#outline-menu.show {
    transform-origin: top left;
    animation: claude-context-menu-in 120ms cubic-bezier(.16, 1, .3, 1) both;
    will-change: opacity, transform;
    padding-top: 6px;
    padding-bottom: 6px;
}

@keyframes claude-context-menu-in {
    from {
        opacity: 0;
        transform: translateY(-4px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Bottom footer panels enter upward from the footer */
.ty-show-spell-check #spell-check-panel,
.ty-show-word-count #footer-word-count-info.dropdown-menu {
    transform-origin: bottom right;
    animation: claude-footer-menu-in 120ms cubic-bezier(.16, 1, .3, 1) both;
    will-change: opacity, transform;
}

@keyframes claude-footer-menu-in {
    from {
        opacity: 0;
        transform: translateY(4px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    #context-menu,
    #file-menu.show,
    #outline-menu.show,
    .ty-show-spell-check #spell-check-panel,
    .ty-show-word-count #footer-word-count-info.dropdown-menu {
        animation: none;
    }
}

#ty-auto-suggest.auto-suggest-container:has(.auto-suggest-for-fences) {
    box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.08),
        0 6px 16px rgba(0, 0, 0, 0.28),
        0 1px 4px rgba(0, 0, 0, 0.18) !important;
}

.dropdown-menu .divider {
    border-top: none!important;
}

.menu-item-container a.menu-style-btn {
    box-shadow: none!important;
}

.context-menu.dropdown-menu>li>a {
    color: var(--text-color);
}

/*--- Scrollbar ---*/
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-thumb {
    background-clip: border-box;
    background: var(--scrollbar-color);
    border-radius: 8px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-hover-color);
}

::-webkit-scrollbar:hover {
    background-color: transparent;
}

/* Hide file tree scrollbar thumb */
.stopselect.dropmenu.sidebar-menu.open.active-tab-files.use-file-tree-style ::-webkit-scrollbar-thumb {
    background-color: transparent !important;
    border: none !important;
}

/*--- Footer ---*/
.show-footer footer.ty-footer {
    border-top-width: 0 !important;
}

/* =========================================
   Theme Section
   ========================================= */

#write h1 {
    font-size: 1.375rem;
    line-height: 1.65rem;
    font-weight: var(--font-strong);
    margin: 2.75rem 0 1rem 0;
    padding: 0 2rem;
    text-align: center;
    scroll-margin-top: 5.5rem;
}

#write h2 {
    font-size: 1.125rem;
    line-height: 1.65rem;
    font-weight: var(--font-strong);
    margin: 2.25rem 0 0.85rem 0;
    padding: 0 2rem 0 0.5rem;
    scroll-margin-top: 5.5rem;
}

#write h3 {
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: var(--font-strong);
    margin: 1.8rem 0 0.65rem 0;
    padding: 0 2rem 0 0.5rem;
    scroll-margin-top: 5.5rem;
}

#write h4 {
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: var(--font-strong);
    margin: 1.4rem 0 0.5rem 0;
    padding: 0 2rem 0 0.5rem;
    scroll-margin-top: 5.5rem;
}

#write h5, #write h6 {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    margin: 1.1rem 0 0.4rem 0;
    padding: 0 2rem 0 0.5rem;
    scroll-margin-top: 5.5rem;
}

#write h1:first-child,
#write h2:first-child,
#write h3:first-child,
#write h4:first-child,
#write h5:first-child,
#write h6:first-child {
    margin-top: 0;
}

#write p {
    padding: 0 2rem 0 0.5rem;
    margin: 0;
}

#write strong {
    font-weight: var(--font-strong);
    color: #E6987D;
}

/*--- Hide bold/italic markdown markers ---*/
#write .md-pair-s.md-expand > .md-meta.md-before,
#write .md-pair-s.md-expand > .md-meta.md-after {
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    vertical-align: baseline !important;
    font-size: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
}

#write .md-pair-s.md-expand {
    padding: 0 !important;
}

/*--- Highlight (wavy underline) ---*/
span[md-inline="highlight"] mark,
.md-pair-s mark {
    background-color: transparent !important;
    color: inherit !important;
    text-decoration: underline wavy #D4B06D;
    text-underline-offset: 3px;
}

/*--- Underline ---*/
span[md-inline="underline"] u {
    text-decoration: underline solid #D97757 !important;
    text-underline-offset: 3px;
}

/* =========================================
   Lists
   ========================================= */

/*--- Ordered & Unordered ---*/
.write ul, .write ol {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    line-height: 1.65rem;
}

.write li {
    padding: 0 0 0 0.5rem;
    margin: 0;
}

#write li > p {
    padding: 0;
}

.write > ul, .write > ol {
    padding: 0 2rem;
    margin: 0 0 0.75rem 0;
}

.write > ul ul, markdown > ol ol {
    padding: 0 2rem 0.25rem 2rem;
    margin: 0.25rem 0 0 0;
}

/* Force disc bullets (exclude task lists) */
#write ul:not(.task-list) {
    list-style-type: disc;
}

/*--- Task List (Checkbox) ---*/
#write li.md-task-list-item > input[type="checkbox"] {
    display: inline-block;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    width: 13px !important;
    height: 13px !important;
    position: absolute;
    top: 2.1px;
    left: 2px;
    margin-left: -1.3em !important;
    margin-top: calc(1em - 12px) !important;
    border: 1px solid #626262 !important;
    border-radius: 2px !important;
    background-color: #3b3b3b !important;
    cursor: pointer;
}

#write li.md-task-list-item > input[type="checkbox"]:checked {
    background-color: #757575 !important;
    border-color: #757575 !important;
}

#write li.md-task-list-item > input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
    left: 3px;
    top: 0px;
    width: 5px;
    height: 9px;
    border: solid #3b3b3b !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg);
}

/* =========================================
   Tables
   ========================================= */

.write .md-table-fig.table-figure {
    border: none;
    background-color: transparent;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 1.5rem;
    margin-top: 0;
    padding: 0 0.5rem;
}

.write table {
    border: none;
    width: 100%;
    line-height: 1.65rem;
}

.write th, .write td {
    font-size: 0.875rem;
    line-height: 1.7;
    border-left: none;
    border-right: none;
    border-top: none;
    border-bottom-width: 0.5px;
    padding: 0.5rem 1rem 0.5rem 1px !important;
    /* Implementation detail */
    height: 1px;
}

.write tr:last-child td {
    border-bottom-style: solid;
    border-bottom-width: 0.5px;
}

.write table thead {
    border-bottom-style: solid;
    border-bottom-width: 0.5px;
}

.md-plain {
    padding: 0;
}

#write th {
    border-left: none;
    border-right: none;
    border-top: none;
    border-bottom-style: solid;
    border-bottom-width: 0.5px;
    border-bottom-color: var(--table-th-border);
    font-weight: var(--font-strong);
}

#write td {
    border-left: none;
    border-right: none;
    border-top: none;
    border-bottom-style: solid;
    border-bottom-width: 0.5px;
    border-bottom-color: var(--table-td-border);
    font-weight: var(--font-weight);
}

.ty-table-edit {
    max-width: 696px;
    width: 100%;
}

.ty-table-edit .btn-group-xs>.btn {
    border: none;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--font-color) !important;
    opacity: 0.5;
    transition: color 0.16s ease, opacity 0.16s ease;
}

.ty-table-edit .btn-group-xs>.btn:hover,
.ty-table-edit .btn-group-xs>.btn:focus,
.ty-table-edit .btn-group-xs>.btn:active {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--LOGO-color) !important;
    opacity: 1;
}

.ty-table-edit .btn-group-xs>.btn .ty-icon,
.ty-table-edit .btn-group-xs>.btn i,
.ty-table-edit .btn-group-xs>.btn svg {
    color: inherit !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

.md-table-resize-popover .md-grid-board-wrap {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-align: center !important;
}

.md-table-resize-popover.popover {
    box-shadow:
        0 0 0 0.5px rgba(255 255 255 / .1),
        0 8px 32px rgba(0 0 0 / .5),
        0 2px 8px rgba(0 0 0 / .4) !important;
    transform-origin: 20px top;
    animation: claude-context-menu-in 120ms cubic-bezier(.16, 1, .3, 1) both;
    will-change: opacity, transform;
}

.md-table-resize-popover .md-grid-board {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    border: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    line-height: normal !important;
}

.md-table-resize-popover .md-grid-board th,
.md-table-resize-popover .md-grid-board td {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border: none !important;
    line-height: normal !important;
}

.md-table-resize-popover .md-grid-board tr[row='1'] {
    background: transparent !important;
}

.md-table-resize-popover .md-grid-board .md-grid-ext {
    background: rgba(217, 119, 87, 0.24) !important;
}

.md-table-resize-popover .md-grid-board tr[row='1'] .md-grid-ext {
    background: rgba(217, 119, 87, 0.36) !important;
}

.md-table-resize-popover .md-grid-board a {
    border-color: rgba(222, 220, 209, 0.22) !important;
}

.md-table-resize-popover .md-grid-board a.md-active,
.md-table-resize-popover .md-grid-board a:hover {
    border-color: var(--LOGO-color) !important;
    background: rgba(217, 119, 87, 0.24) !important;
}

.md-table-resize-popover .popover-title {
    margin-top: 6px !important;
    text-align: center !important;
}

.md-table-resize-popover .md-grid-board-wrap .popover-title {
    border-top: var(--border-color-30)!important;
}

/* Remove top margin from headings directly after a table */
.md-table-fig.table-figure + h1,
.md-table-fig.table-figure + h2,
.md-table-fig.table-figure + h3,
.md-table-fig.table-figure + h4 {
    margin-top: 0 !important;
}

/* Hide table row/column drag area */
.typora-table-drag-area {
    display: none;
}

.ty-table-edit.md-table-edit.md-tooltip-remove {
    margin-top: -15px !important;
}

/* =========================================
   Horizontal Rule
   ========================================= */

hr {
    border: none;
    border-top-style: solid;
    margin: .75rem .375rem;
    border-top-width: 1px;
    border-color: var(--hr-color);
}

.md-hr.md-end-block + h1,
.md-hr.md-end-block + h2,
.md-hr.md-end-block + h3,
.md-hr.md-end-block + h4 {
    margin-top: 0 !important;
}

/* =========================================
   Code Blocks
   ========================================= */

/*--- Container ---*/
.CodeMirror-gutter-filler,
.CodeMirror-scrollbar-filler,
.CodeMirror.cm-s-inner.cm-s-null-scroll.CodeMirror-wrap {
    background-color: transparent;
}

.md-fences {
    margin: 0 !important;
    padding: 2.8rem 0.875rem 0.875rem 0.875rem;
    background-color: var(--pre-bg-color);
    border-style: solid;
    border-width: 0.5px;
    border-color: var(--pre-border-color);
    border-radius: 0.5rem;
}

/* Mermaid edit mode: keep the preview panel in normal document flow. */
.md-fences.md-fences-advanced.md-focus[lang="mermaid"] {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
}

.md-fences.md-fences-advanced.md-focus[lang="mermaid"] .md-fences-adv-panel,
.md-fences.md-fences-advanced.md-focus[lang="mermaid"] .md-diagram-panel,
.md-fences.md-fences-advanced.md-focus[lang="mermaid"] .md-diagram-panel-preview {
    position: relative !important;
    display: block !important;
    clear: both !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0.75rem 0 0 0 !important;
    overflow: auto !important;
    transform: none !important;
}

.md-fences.md-fences-advanced.md-focus[lang="mermaid"] .md-diagram-panel-preview > svg,
.md-fences.md-fences-advanced.md-focus[lang="mermaid"] .md-diagram-panel-preview .mermaid-svg {
    display: block !important;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/*--- Code lines ---*/
.CodeMirror-lines {
    font-size: 0.875rem;
    font-weight: var(--font-weight);
    line-height: 1.625;
    font-family: var(--font-mono);
}

.CodeMirror pre {
    padding: 0 !important;
}

.CodeMirror div.CodeMirror-cursor {
    border-left-color: #D97757 !important;
}

/*--- Language label input (active) ---*/
.ty-input.ty-input-after.ty-cm-lang-input {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    color: var(--pre-inputfont-color) !important;
    font-weight: var(--pre-inputfont-weight) !important;
    font-size: 0.75rem !important;
    font-family: var(--font-sans);
}

.md-fences .code-tooltip.md-tooltip-remove {
    font-size: 0.75rem !important;
    font-family: var(--font-sans);
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 14px 0 0 15px !important;
    line-height: 17px;
    height: auto;
    top: 0px !important;
    bottom: auto !important;
    left: 0px !important;
}

.code-tooltip {
    box-shadow: 0 1px 1px 0 #d9775733;
}

sup.md-footnote {
    display: inline-block;
    padding: 0 !important;
    color: #f0a486 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-family: var(--font-sans) !important;
    font-size: 0.52em !important;
    font-weight: 500;
    line-height: 1 !important;
    position: relative;
    top: -1.2em;
    margin-left: 0.04em;
    vertical-align: baseline !important;
    white-space: nowrap;
    transition:
        background-color 0.12s ease-out,
        border-color 0.12s ease-out,
        color 0.12s ease-out;
}

sup.md-footnote:hover {
    color: #ffbd9f !important;
    background: transparent !important;
    border-color: transparent !important;
}

/* Footnote hover tips reuse Typora's code-tooltip markup; keep them out of code-block label positioning. */
.code-tooltip.md-hover-tip {
    padding: 0 !important;
    background: #30302e !important;
    color: #faf9f5 !important;
    border: 1px solid #d9775752 !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 32px rgb(0 0 0 / 38%), 0 2px 8px rgb(0 0 0 / 24%) !important;
    max-width: min(32rem, calc(100vw - 48px));
    opacity: 0;
    transform: translateY(-2px);
    animation: claude-footnote-tip-in 80ms ease-out forwards;
    transition:
        opacity 120ms ease-out,
        transform 120ms ease-out,
        visibility 120ms ease-out;
    will-change: opacity, transform;
}

.md-hover-tip .code-tooltip-content {
    padding: 0.7rem 0.85rem !important;
    line-height: 1.45 !important;
    text-align: left !important;
    border-radius: inherit !important;
    background: inherit !important;
}

.md-hover-tip .md-arrow::after {
    background: #30302e !important;
    border-left: 1px solid #d9775752 !important;
    border-top: 1px solid #d9775752 !important;
}

@keyframes claude-footnote-tip-in {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*--- Static language label (inactive code block) ---*/
.md-fences[lang]:not([lang=""])::before {
    content: attr(lang);
    position: absolute;
    display: block;
    top: 0px !important;
    left: 0px !important;
    padding: 14px 0 0 15px !important;
    line-height: 17px !important;
    color: var(--pre-inputfont-color) !important;
    font-weight: var(--pre-inputfont-weight) !important;
    font-size: 0.75rem !important;
    font-family: var(--font-sans) !important;
    z-index: 11;
    pointer-events: none;
    opacity: 1;
    visibility: visible;
}

/* Keep the static label visible while code content is focused to avoid flicker */
.md-fences.md-focus[lang]::before {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Hide it only while the language input itself is being edited */
.md-fences.md-focus:has(.code-tooltip:focus-within)[lang]::before {
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Native input overlay (focused state) */
.md-fences .code-tooltip {
    position: absolute !important;
    top: 0px !important;
    left: 0px !important;
    bottom: auto !important;
    right: auto !important;
    padding: 14px 0 0 15px !important;
    margin: 0 !important;
    height: auto !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    transition: none !important;
    animation: none !important;
    z-index: 10;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Keep the native hit area available without drawing a duplicate label */
.md-fences.md-focus .code-tooltip {
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Show Typora's native language input only when it is directly focused */
.md-fences.md-focus .code-tooltip:focus-within {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Hide native input when code block loses focus */
.md-fences:not(.md-focus) .code-tooltip {
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
}

.md-fences .code-tooltip .ty-input {
    color: var(--pre-inputfont-color) !important;
    font-weight: var(--pre-inputfont-weight) !important;
    font-size: 0.75rem !important;
    font-family: var(--font-sans) !important;
    line-height: 17px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    text-align: left !important;
}

/*--- Syntax Highlighting ---*/
.md-fences .CodeMirror-linenumber,
.md-fences .cm-comment,
.md-fences .cm-meta {
    color: #818898 !important;
}

.md-fences .cm-keyword,
.md-fences .cm-builtin {
    color: #cc7bf4 !important;
}

.md-fences .cm-string,
.md-fences .cm-string-2 {
    color: #9be963 !important;
}

.md-fences .cm-number {
    color: #5eeded !important;
}

.md-fences .cm-tag,
.md-fences .cm-attribute,
.md-fences .cm-property,
.md-fences .cm-qualifier,
.md-fences .cm-link {
    color: #f47b85 !important;
}

.md-fences .cm-operator,
.md-fences .cm-atom,
.md-fences .cm-variable {
    color: #eaecf0 !important;
}

.md-fences .cm-def {
    color: #0051c2;
}

.md-fences .cm-variable-2,
.md-fences .cm-variable-3 {
    color: #fbab60 !important;
}

.md-fences .cm-bracket {
    color: #eaecf0 !important;
}

/* =========================================
   Inline Code
   ========================================= */

code, tt {
    font-family: var(--font-mono);
    background-color: var(--code-bg-color);
    color: var(--code-font-color);
    font-size: 0.9rem;
    border-radius: 0.4rem;
    border-color: var(--code-border);
    border-width: 0.5px;
    padding: 1px 0.25rem;
}

/* =========================================
   Blockquote
   ========================================= */

blockquote {
    background-color: transparent;
    margin: 0 0 0 0.5rem;
    padding: 0 2rem 0 0.5rem;
    border-left-width: 4px;
    color: var(--quote-font-color);
    border-color: var(--quote-boder);
}

blockquote > p {
    padding: 0 2rem 0 0.5rem;
    margin: 0;
}

blockquote ol, blockquote ul {
    padding: 0 32px;
    margin: 0 0 12px 0;
}

/* =========================================
   GitHub Alerts
   ========================================= */

#write .md-alert {
    --alert-accent: var(--LOGO-color);
    --alert-bg: rgb(255 255 255 / 5%);
    --alert-bg-soft: rgb(255 255 255 / 2%);
    --alert-wash: rgb(217 119 87 / 12%);
    --alert-border: rgb(222 220 209 / 12%);
    --alert-shadow: rgb(0 0 0 / 34%);

    position: relative;
    margin: 0.25rem 2rem 0.75rem 0.5rem;
    padding: 0.72rem 0.9rem 0.78rem 1rem;
    color: var(--font-color);
    background:
        linear-gradient(180deg, var(--alert-bg), var(--alert-bg-soft)),
        linear-gradient(90deg, var(--alert-wash), transparent 34%);
    border: 1px solid var(--alert-border);
    border-left: 3px solid var(--alert-accent);
    border-radius: 8px;
    box-shadow: 0 14px 30px -28px var(--alert-shadow);
}

#write .md-alert-note {
    --alert-accent: #88a9c7;
    --alert-bg: rgb(136 169 199 / 10%);
    --alert-bg-soft: rgb(136 169 199 / 3%);
    --alert-wash: rgb(136 169 199 / 13%);
    --alert-border: rgb(136 169 199 / 22%);
}

#write .md-alert-tip {
    --alert-accent: #91b685;
    --alert-bg: rgb(145 182 133 / 10%);
    --alert-bg-soft: rgb(145 182 133 / 3%);
    --alert-wash: rgb(145 182 133 / 13%);
    --alert-border: rgb(145 182 133 / 22%);
}

#write .md-alert-important {
    --alert-accent: #b69acd;
    --alert-bg: rgb(182 154 205 / 10%);
    --alert-bg-soft: rgb(182 154 205 / 3%);
    --alert-wash: rgb(182 154 205 / 13%);
    --alert-border: rgb(182 154 205 / 22%);
}

#write .md-alert-warning {
    --alert-accent: #d6a15e;
    --alert-bg: rgb(214 161 94 / 11%);
    --alert-bg-soft: rgb(214 161 94 / 3%);
    --alert-wash: rgb(214 161 94 / 14%);
    --alert-border: rgb(214 161 94 / 24%);
}

#write .md-alert-caution {
    --alert-accent: #d88678;
    --alert-bg: rgb(216 134 120 / 10%);
    --alert-bg-soft: rgb(216 134 120 / 3%);
    --alert-wash: rgb(216 134 120 / 13%);
    --alert-border: rgb(216 134 120 / 23%);
}

#write .md-alert-text {
    display: flex;
    align-items: center;
    margin: 0 0 0.35rem 0;
    color: var(--alert-accent) !important;
    font-family: var(--font-sans);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
}

#write .md-alert-text svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
    margin-right: 0.42rem;
    opacity: 0.95;
}

#write .md-alert-text-container::after {
    text-transform: none;
    letter-spacing: 0;
}

#write .md-alert p {
    padding: 0;
    margin: 0.35rem 0 0 0;
    line-height: 1.65;
}

#write .md-alert p:first-child {
    margin-top: 0;
}

#write .md-alert ul,
#write .md-alert ol {
    padding: 0 0 0 1.25rem;
    margin: 0.35rem 0 0 0;
    gap: 0.12rem;
}

#write .md-alert code {
    background-color: rgb(255 255 255 / 7%);
    border-color: var(--alert-border);
    color: inherit;
}

/* Alert code blocks should use one surface; CodeMirror internals must not add a second tint. */
#write .md-alert .md-fences .CodeMirror,
#write .md-alert .md-fences .CodeMirror-scroll,
#write .md-alert .md-fences .CodeMirror-sizer,
#write .md-alert .md-fences .CodeMirror-lines,
#write .md-alert .md-fences .CodeMirror-code,
#write .md-alert .md-fences .CodeMirror-line,
#write .md-alert .md-fences .CodeMirror pre,
#write .md-alert .md-fences .CodeMirror-activeline-background,
#write .md-alert .md-fences .CodeMirror-linebackground,
#write .md-alert .md-fences .CodeMirror-gutters {
    background: transparent !important;
    background-color: transparent !important;
}

/* =========================================
   Math Blocks
   ========================================= */

.md-rawblock-container.md-math-container > .MathJax {
    margin: 0 !important;
}

.md-math-block .md-math-container {
    transition: background-color 0.15s ease-in-out !important;
}

.md-math-block:hover .md-math-container {
    background-color: var(--hover-color) !important;
    border-radius: 8px;
}

.md-rawblock-control.md-rawblock-before,
.md-rawblock-control.md-rawblock-input.md-mathblock-input,
.md-rawblock-control.md-rawblock-after {
    background-color: var(--hover-color);
}

.md-rawblock-tooltip.md-rawblock-control {
    background-color: transparent !important;
}

/* Hide math block horizontal scrollbar */
.md-math-container::-webkit-scrollbar,
.md-math-block .MathJax::-webkit-scrollbar,
mjx-container::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.md-math-container,
.md-math-block .MathJax,
mjx-container {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

/* =========================================
   Comments & Links
   ========================================= */

.md-comment {
    color: var(--LOGO-color);
}

a {
    color: var(--font-color);
    text-decoration-color: var(--font-color);
    text-underline-offset: 2px;
}

a:hover {
    color: #E6987D;
    text-decoration-color: #E6987D;
}

#write a:hover {
    color: #D4B06D;
    text-decoration-color: #D4B06D;
}

/* =========================================
   Sidebar
   ========================================= */

/*--- Hide source view & outline toggle buttons ---*/
#typora-sidebar-resizer:not(.dragging) .typora-sidebar-resizer-bar:hover {
    background: none!important;
}

/*--- Layout & Dimensions ---*/
#typora-sidebar {
    margin-top: 15px;
    margin-bottom: 15px;
    margin-left: 15px;
    height: calc(100% - 30px);
    width: calc(var(--sidebar-width) - 15px) !important;

    /* Background, shadow & border */
    background-image: linear-gradient(
        to top,
        var(--sidebar-gradient-from),
        var(--sidebar-gradient-to)
    );
    border-color: transparent;
    border-radius: 15px;
    box-shadow: var(--box-shadow-userinput) !important;
    transition:
        left 360ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease !important;
    will-change: left, box-shadow;
}

#typora-sidebar:hover {
    box-shadow: var(--box-shadow-userinput-hover) !important;
}

#typora-sidebar:has(input:focus),
#typora-sidebar:hover:has(input:focus) {
    box-shadow: var(--box-shadow-userinput-focus) !important;
}

/*--- Footer ---*/
#ty-sidebar-footer {
    border: none;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    background: transparent !important;
    background-clip: padding-box;
}

#ty-sidebar-footer > div {
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
    background: transparent !important;
    background-clip: padding-box;
}

#sidebar-new-file-btn {
    border-bottom-left-radius: 15px !important;
    background-clip: padding-box;
}

#switch-file-list-btn {
    border-bottom-right-radius: 15px !important;
    background-clip: padding-box;
}

#sidebar-files-menu {
    background: var(--file-search-list-bg-color) !important;
    border-color: #dedcd126!important;
}

#sidebar-files-menu>.show+.menuitem-group-label.show {
    border-color: #dedcd126!important;
}

/*--- Inputs ---*/
#typora-sidebar input {
    color: var(--sidebar-font-color);
}

/*--- Top Tabs ---*/
.info-panel-tab-border {
    display: none;
}

.info-panel-tab-wrapper {
    position: absolute;
    top: 14px;
    left: 50%;
    width: 176px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 3px;
    margin-top: 0;
    border: 1px solid rgba(222, 220, 209, 0.12);
    border-radius: 999px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.03)),
        rgba(20, 20, 19, 0.28);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.11),
        0 2px 18px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(12px) saturate(1.25);
    -webkit-backdrop-filter: blur(12px) saturate(1.25);
    overflow: visible;
    transform: translateX(-50%);
    transition: border-color 0.18s ease, background-color 0.18s ease;
    box-sizing: border-box;
    z-index: 20;
}

.info-panel-tab-wrapper > div[style*="flex"] {
    flex: 0 0 0 !important;
    width: 0 !important;
}

.info-panel-tab-wrapper::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 82px;
    height: 28px;
    border-radius: 999px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.06)),
        rgba(48, 48, 46, 0.74);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        inset 0 -1px 0 rgba(0, 0, 0, 0.12),
        0 4px 12px rgba(0, 0, 0, 0.2);
    transform: translateX(0);
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.18s ease;
    z-index: 0;
}

.active-tab-outline .info-panel-tab-wrapper::before {
    transform: translateX(86px);
}

.ty-show-search .info-panel-tab-wrapper::before {
    display: none;
}

.info-panel-tab {
    position: relative;
    z-index: 1;
    width: 82px;
    height: 28px;
    margin-top: 0;
    opacity: 1;
}

.info-panel-tab-title {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 82px;
    height: 28px;
    line-height: 1;
    padding: 0;
    margin: 0;
    border: none;
    font-size: 14px;
    font-weight: 400;
    background-color: transparent;
    color: var(--sidebar-font-color);
    border-radius: 999px;
    position: relative;
    bottom: 0;
    transform: translateY(-5px);
    transition: color 0.18s ease, opacity 0.18s ease, transform 0.12s ease;
}

.info-panel-tab-title:hover {
    background-color: transparent;
    color: var(--font-color);
}

.info-panel-tab-title:active {
    transform: translateY(-4px) scale(0.97);
}

.active-tab-files #info-panel-tab-file,
.active-tab-outline #info-panel-tab-outline {
    font-weight: 600;
}

/*--- File List ---*/
#typora-sidebar .file-list-item {
    transition: background-color 0.15s ease-out;
    border-bottom-color: var(--border-color-15);
}

#typora-sidebar .file-list-item:hover {
    background-color: var(--hover-color);
}

#typora-sidebar .file-list-item.active {
    background-color: var(--hover-color);
}

.file-list-item-summary {
    color: var(--sidebar-font-color) !important;
}

.file-list-item-file-ext-part {
    display: none;
}

.file-list-item.active {
    color: #fff4c8!important;
}

#typora-sidebar #sidebar-loading-template {
    background: transparent !important;
    color: var(--sidebar-font-color) !important;
}

#typora-sidebar #sidebar-loading-template .sidebar-loading {
    background: #2c2c2a !important;
    color: var(--sidebar-font-color) !important;
    border: none !important;
    border-radius: 8px;
}

#typora-sidebar #sidebar-loading-template .typora-quick-open-info {
    color: var(--sidebar-font-color) !important;
    opacity: 1;
}

#typora-sidebar #sidebar-loading-template .typora-search-spinner > div {
    background-color: var(--LOGO-color) !important;
}

/*--- File Tree ---*/
/* Hide .md extension */
.file-node-title-ext-part {
    display: none;
}

/* Node expand animation */
@keyframes treeItemIn {
    0%   { opacity: 0; transform: translate3d(-12px, 0, 0); }
    70%  { opacity: 1; transform: translate3d(2px, 0, 0); }
    100% { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Prevent child overflow & protect hover hit targets */
.file-tree-node > .file-node-children { overflow: hidden; }
.file-tree-node > .file-node-background { pointer-events: none; }

/* Staggered animation delays */
.file-tree-node > .file-node-children > .file-library-node { --tree-delay: 0s; }
.file-tree-node.file-node-expanded:not(.file-node-root) > .file-node-children > .file-library-node:nth-of-type(1)  { --tree-delay: 0.00s; }
.file-tree-node.file-node-expanded:not(.file-node-root) > .file-node-children > .file-library-node:nth-of-type(2)  { --tree-delay: 0.04s; }
.file-tree-node.file-node-expanded:not(.file-node-root) > .file-node-children > .file-library-node:nth-of-type(3)  { --tree-delay: 0.08s; }
.file-tree-node.file-node-expanded:not(.file-node-root) > .file-node-children > .file-library-node:nth-of-type(4)  { --tree-delay: 0.12s; }
.file-tree-node.file-node-expanded:not(.file-node-root) > .file-node-children > .file-library-node:nth-of-type(5)  { --tree-delay: 0.16s; }
.file-tree-node.file-node-expanded:not(.file-node-root) > .file-node-children > .file-library-node:nth-of-type(6)  { --tree-delay: 0.20s; }
.file-tree-node.file-node-expanded:not(.file-node-root) > .file-node-children > .file-library-node:nth-of-type(7)  { --tree-delay: 0.24s; }
.file-tree-node.file-node-expanded:not(.file-node-root) > .file-node-children > .file-library-node:nth-of-type(8)  { --tree-delay: 0.28s; }
.file-tree-node.file-node-expanded:not(.file-node-root) > .file-node-children > .file-library-node:nth-of-type(9)  { --tree-delay: 0.32s; }
.file-tree-node.file-node-expanded:not(.file-node-root) > .file-node-children > .file-library-node:nth-of-type(10) { --tree-delay: 0.36s; }
.file-tree-node.file-node-expanded:not(.file-node-root) > .file-node-children > .file-library-node:nth-of-type(n+11) { --tree-delay: 0.42s; }

/* Slide-in animation for child nodes */
.file-tree-node.file-node-expanded:not(.file-node-root)
> .file-node-children
> .file-library-node
> .file-node-content
> :is(.file-node-open-state, .file-node-icon, .file-node-title, .file-tree-rename-div) {
    animation: treeItemIn 0.35s ease-out both;
    animation-delay: var(--tree-delay);
}

/* Prevent already-expanded children from re-animating on parent toggle */
.file-tree-node.file-node-expanded:not(.file-node-root)
> .file-node-children
> .file-library-node.file-node-expanded
> .file-node-content
> :is(.file-node-open-state, .file-node-icon, .file-node-title, .file-tree-rename-div) {
    animation-duration: 0.001s !important;
    animation-delay: 0s !important;
}

/* Prevent animation on collapse */
.file-tree-node.file-node-collapsed
> .file-node-children
:is(.file-node-content, .file-node-open-state, .file-node-icon, .file-node-title, .file-tree-rename-div),
.file-tree-node:not(.file-node-root):not(.file-node-expanded)
> .file-node-children
:is(.file-node-content, .file-node-open-state, .file-node-icon, .file-node-title, .file-tree-rename-div) {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
}

/* Color overrides */
#file-library {
    --control-text-color: var(--sidebar-font-color);
    --control-text-hover-color: var(--font-color);
    --active-file-text-color: var(--font-color);
    --active-file-border-color: transparent;
}

/* Hover background */
.file-tree-node:not(.file-node-root):has(> .file-node-content:hover) > .file-node-background {
    background-color: var(--hover-color);
    border-radius: 0.5rem;
    margin: 0 0.5rem;
}

/* Active background */
.file-tree-node.active > .file-node-background {
    background-color: var(--hover-color);
    border-radius: 0.5rem;
    margin: 0 0.5rem;
}

/* Text slide on hover */
#file-library-tree .file-library-file-node > .file-node-content .file-node-icon,
.file-node-content .file-node-title {
    transition: translate 0.25s ease-out;
}

#file-library-tree .file-library-file-node > .file-node-content:hover .file-node-icon,
.file-tree-node:not(.file-node-root) > .file-node-content:hover .file-node-title {
    translate: 4px 0;
}

.file-node-content {
    font-weight: var(--sidebar-font-weight);
    line-height: 22px;
    transition: all 0.15s ease-in-out;
}

/*--- Root Node ---*/
#file-library-tree > div:first-child > div:nth-child(2) > i:first-child {
    display: none;
}

#file-library-tree > div:first-child > div:nth-child(1) {
    height: 44px;
}

#file-library-tree > div:first-child > div:nth-child(2) {
    font-size: 14px;
    font-family: var(--font-sans);
    line-height: 22px;
    padding-top: 10px;
}

/*--- File Tree Icons ---*/
.fa-folder:before {
    color: var(--LOGO-color);
}

#file-library-tree .file-library-node[data-is-directory="true"] > .file-node-content .file-node-icon .fa-folder::before {
    display: inline-block;
    transform: translateY(0px);
}

/* Folder expand triangle */
#file-library-tree .file-library-node[data-is-directory="true"] > .file-node-content .file-node-open-state i {
    color: #875d50;
}

/* Replace default file icons with a colored dot */
#file-library-tree .file-library-file-node > .file-node-content .file-node-icon svg,
#file-library-tree .file-library-file-node > .file-node-content .file-node-icon i,
#file-library-tree .file-library-file-node > .file-node-content .file-node-icon::before {
    display: none !important;
    content: none !important;
}

#file-library-tree .file-library-file-node > .file-node-content .file-node-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-right: 4px;
}

#file-library-tree .file-library-file-node > .file-node-content .file-node-icon::after {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--LOGO-color);
}

/*--- Search ---*/
#file-library-search-input {
    border-color: var(--border-color-30);
    border-radius: 8px;
    height: 28px;
    width: calc(100% - 1px) !important;
}

#file-library-search-panel {
    border-bottom: none;
}

/* Search result list */
#typora-sidebar.ty-on-search #file-library-search {
    height: 100%;
    padding-top: 20px;
    overflow: hidden;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    background-color: var(--file-search-list-bg-color);
}

#typora-sidebar.ty-on-search #file-library-search-panel {
    position: relative;
    top: 0;
    flex: 0 0 auto;
    background-color: var(--file-search-list-bg-color);
}

#typora-sidebar.ty-on-search #file-library-search-input {
    background-color: var(--file-search-list-bg-color);
}

#typora-sidebar.ty-on-search #file-library-search-result {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    background-color: var(--file-search-list-bg-color);
}

.stopselect.dropmenu.sidebar-menu.open.active-tab-files.use-file-tree-style.ty-show-search.ty-on-search .sidebar-content {
    background-color: var(--file-search-list-bg-color);
}

.ty-search-item {
    color: var(--file-search-list-font-color);
    border-bottom: 0;
}

.ty-file-search-match-text {
    background-color: transparent;
    color: var(--font-color);
}

.file-list-item-count {
    background-color: var(--hover-color);
}

.ty-search-item:hover {
    background-color: transparent;
    color: var(--file-search-list-font-color);
}

.ty-search-item-line:hover {
    background-color: transparent;
    color: inherit;
}

.ty-search-item.active,
.ty-search-item-line.active {
    background-color: var(--file-search-list-focus-bg-color);
}

.md-search-hit.md-search-select {
    background-color: var(--LOGO-color);
}

/*--- Misc Sidebar ---*/
/* Remove focus outline on file tree nodes */
.file-library-node:focus,
.file-library-node:active,
.file-node-content:focus,
.file-node-content:active,
.file-tree-node:focus,
.file-tree-node:active {
    outline: none !important;
    box-shadow: none !important;
}

/* Hide horizontal scrollbar */
#typora-sidebar ::-webkit-scrollbar:horizontal {
    display: none !important;
}

#file-library {
    overflow-x: hidden !important;
}

/* =========================================
   YAML Frontmatter
   ========================================= */

#write pre.md-meta-block {
    position: relative;
    overflow: hidden;
    padding: 2.35rem 1.25rem 1.1rem 1.75rem;
    font-family: var(--font-mono);
    font-size: 0.82rem;
    line-height: 1.65;
    color: rgba(234, 216, 174, 0.76);
    background:
        linear-gradient(to right, rgba(225, 179, 110, 0.22) 0 8px, transparent 8px 15px) left top / 15px 1.5px repeat-x,
        linear-gradient(to right, rgba(225, 179, 110, 0.22) 0 8px, transparent 8px 15px) left bottom / 15px 1.5px repeat-x,
        linear-gradient(to bottom, rgba(225, 179, 110, 0.22) 0 8px, transparent 8px 15px) left top / 1.5px 15px repeat-y,
        linear-gradient(to bottom, rgba(225, 179, 110, 0.22) 0 8px, transparent 8px 15px) right top / 1.5px 15px repeat-y,
        linear-gradient(90deg, transparent 0 2.1rem, rgba(224, 168, 92, 0.16) 2.1rem 2.16rem, transparent 2.16rem),
        repeating-linear-gradient(0deg, transparent 0 1.58rem, rgba(225, 179, 110, 0.075) 1.58rem 1.63rem),
        radial-gradient(circle at 18% 18%, rgba(255, 232, 178, 0.10), transparent 32%),
        radial-gradient(circle at 86% 0%, rgba(217, 151, 87, 0.08), transparent 34%),
        linear-gradient(135deg, rgba(250, 249, 245, 0.075), rgba(250, 249, 245, 0.035));
    border: 1px solid transparent;
    border-radius: 10px;
    box-shadow:
        0 6px 18px rgba(0, 0, 0, 0.14),
        inset 0 1px 0 rgba(255, 232, 178, 0.12),
        inset 0 0 0 1px rgba(255, 222, 160, 0.055);
    margin-top: 0 !important;
    text-shadow: 0 1px 0 rgba(32, 22, 14, 0.34);
    -webkit-backdrop-filter: blur(10px) saturate(1.04);
    backdrop-filter: blur(10px) saturate(1.04);
}

#write pre.md-meta-block::before {
    content: "YAML";
    position: absolute;
    top: 0.72rem;
    left: 1.75rem;
    right: 1.25rem;
    padding-bottom: 0.38rem;
    font-family: var(--font-sans);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    color: rgba(255, 215, 150, 0.62);
    border-bottom: 1px solid rgba(255, 215, 150, 0.13);
}

#write pre.md-meta-block::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 13% 28%, rgba(255, 232, 178, 0.13) 0 1px, transparent 2.2px),
        radial-gradient(circle at 76% 42%, rgba(255, 245, 209, 0.10) 0 1.2px, transparent 2.8px),
        radial-gradient(circle at 46% 80%, rgba(255, 215, 150, 0.075) 0 1px, transparent 2.4px);
    background-size: 22px 26px, 30px 24px, 34px 30px;
    mix-blend-mode: screen;
    opacity: 0.55;
}

/* =========================================
   Outline Panel
   ========================================= */

/*--- Layout ---*/
#close-outline-filter-btn {
    display: none !important;
}

.pin-outline .outline-active {
    font-weight: var(--font-weight);
}

/* Outline filter positioning */
.ty-show-outline-filter #file-library-search-panel {
    top: 20px;
}

#outline-content {
    color: var(--sidebar-font-color);
}

#toc-dropmenu {
    top: calc(var(--title-bar-height) + 8px) !important;
    right: 18px;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

#toc-dropmenu #pin-outline-btn {
    display: inline-block;
    top: 10px;
}

#toc-dropmenu .divider {
    margin-bottom: 0;
}

/* Windows-specific adjustments */
.os-windows .ty-show-outline-filter #sidebar-content .sidebar-content-content {
    margin-top: -4px;
}

.os-windows .ty-show-search #sidebar-content .sidebar-content-content {
    margin-top: -7px;
}

.sidebar-tabs {
    padding: 0 2px;
}

.outline-content {
    overflow: auto !important;
    padding: 14px 14px 14px 17px;
    font-size: 14px !important;
}

.os-windows .outline-content {
    padding-top: 15px;
}

/*--- Outline Items ---*/
.outline-content li {
    position: relative;
    z-index: 30;
}

.outline-content > li:first-of-type::before {
    top: 0;
}

.outline-content li ul {
    position: relative;
    z-index: 48;
    margin-left: 18px;
    margin-top: 0 !important;
}

.no-collapse-outline .outline-content li ul {
    margin-left: 21px;
}

.outline-content li .outline-item {
    position: relative;
    z-index: 50;
    margin: 0 0 3px 7px;
    width: calc(100% - 4px);
    border-radius: 5px;
    border: none;
    line-height: 1;
    padding: 0 0 0 4px;
}

/* Expander triangle */
.outline-item > .outline-expander {
    display: block;
    float: left;
    width: auto;
    height: 0;
    background: transparent;
    padding-left: 0;
}

.outline-item > .outline-expander:before {
    margin-top: 10px;
    margin-left: -2px;
    background: transparent;
    padding: 0 4px 0 2px;
    font-size: 10px;
}

/* Label */
.outline-content li .outline-label {
    display: inline-block;
    border-radius: 4px;
    padding: 7px 7px 7px 8px;
    font-size: 14px !important;
    line-height: 1.2;
    overflow-wrap: normal;
    word-wrap: normal;
    word-break: keep-all;
    white-space: nowrap;
    text-decoration: none;
}

.outline-item-single .outline-label,
.outline-item-single.outline-item-open .outline-label,
.no-collapse-outline .outline-content li .outline-label {
    padding-left: 0 !important;
}

.outline-item > .outline-expander:hover + .outline-label,
.outline-item-open > .outline-item > .outline-label {
    padding-left: 11px;
}

.no-collapse-outline .outline-item-open > .outline-item > .outline-label {
    padding-left: 0 !important;
}

.outline-item-active > .outline-expander:hover + .outline-label,
.outline-item-open > .outline-item-active > .outline-label {
    padding-left: 12px;
}

/*--- Tree Lines ---*/
/* L-shaped line to each item */
.outline-content li .outline-item::before {
    content: '';
    position: absolute;
    z-index: 38;
    left: -10px;
    top: -27.5px;
    width: 10px;
    height: calc(50% + 28px);
    background: transparent;
    border-left: 1px solid var(--LOGO-color);
    border-bottom: 1px solid var(--LOGO-color);
}

.os-windows .outline-content li .outline-item::before {
    top: -28.5px;
}

/* First top-level item: half line only */
.outline-content > li:first-of-type > .outline-item::before {
    top: calc(50% - 1px);
    height: calc(50% + 15px);
    border-left: 1px solid var(--LOGO-color);
    border-top: 1px solid var(--LOGO-color);
    border-bottom: none;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 0;
}

/* First child and second top-level offsets */
.outline-children > li:first-child > .outline-item::before,
.outline-content > li:nth-child(2) > .outline-item::before {
    top: -11px;
    height: calc(50% + 12px);
}

.os-windows .outline-children > li:first-child > .outline-item::before,
.os-windows .outline-content > li:nth-child(2) > .outline-item::before {
    top: -13px;
    height: calc(50% + 13px);
}

.no-collapse-outline .outline-children > li:first-child > .outline-item::before,
.no-collapse-outline .outline-content > li:nth-child(2) > .outline-item::before {
    top: -8px;
    height: calc(50% + 8px);
}

/* Rounded corner on last item */
.outline-content > li:last-child > .outline-item::before,
.outline-children > li:last-child > .outline-item::before {
    border-bottom-left-radius: 3px;
}

/* Vertical trunk line through children */
.no-collapse-outline .outline-item-wrapper > .outline-children::before,
.outline-item-open > .outline-children::before {
    content: '';
    position: absolute;
    left: -21px;
    top: -26px;
    width: 1px;
    height: calc(100% + 12px);
    background: transparent;
    border-left: 1px solid var(--LOGO-color);
}

.no-collapse-outline .outline-item-wrapper > .outline-children::before {
    left: -24px;
}

.no-collapse-outline .outline-content > li.outline-item-wrapper:first-child > .outline-children::before,
.outline-content > li.outline-item-open:first-child > .outline-children::before {
    top: -15px;
}

/* Hide unnecessary lines */
.outline-content > li:only-of-type > .outline-item::before,
.no-collapse-outline .outline-item-wrapper:last-of-type > .outline-children::before,
.no-collapse-outline .outline-children > li.outline-item-wrapper:last-child > .outline-children::before,
.outline-item-open:last-of-type > .outline-children::before,
.outline-children > li.outline-item-open:last-child > .outline-children::before {
    display: none;
}

.outline-content > li:only-of-type {
    margin-left: -8px;
}

/*--- Hover & Active States ---*/
/* Shorten connector line on hover/active */
li > .outline-item-active:before,
.outline-item:hover::before,
.outline-item-active > .outline-item::before {
    width: 7px !important;
}

li > .outline-item-active,
li > .outline-item:hover,
.outline-item-active > .outline-item {
    margin-left: 4px !important;
    padding-left: 7px !important;
}

li > .outline-item-active::before,
li > .outline-item:hover::before,
.outline-item-active > .outline-item::before {
    left: -7px !important;
}

.outline-item:hover,
.outline-item:hover > .outline-label,
.outline-item-active,
.outline-item-active > .outline-label {
    background: var(--hover-color) !important;
}

/*--- Search / Filter ---*/
/* Hide tree lines in filter mode */
.ty-on-outline-filter .outline-content .outline-item::before,
.ty-on-outline-filter .outline-content .outline-item::after {
    display: none;
}

.ty-on-outline-filter .outline-content > li > ul,
.ty-on-outline-filter .outline-content .outline-item {
    margin-left: 0;
}

.outline-content:has(.ty-outline-hit) {
    padding-left: 14px;
}

.outline-content li:has(.ty-outline-hit) *::before,
.outline-content li:has(.ty-outline-hit) *::after {
    content: '';
    display: none;
}

.outline-content li:has(.ty-outline-hit) .outline-item {
    margin-left: 1px !important;
    width: calc(100% - 1px);
    padding-left: 0 !important;
}

.outline-content li:has(.ty-outline-hit) .outline-item > .outline-label {
    padding: 8px 10px !important;
}

/* =========================================
   Table of Contents (In-Document)
   ========================================= */

/*--- Container ---*/
.md-toc {
    margin: 16px 0 0 0;
    font-size: 14px;
}

.md-toc-content {
    position: relative;
    margin: 0 0 0 3px;
    padding: 0 !important;
}

/* Left vertical line */
.md-toc-content:before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    width: 1px;
    height: calc(100% - 30px);
    border-left: 1px solid var(--button-bg-color);
}

.md-toc:focus .md-toc-content {
    margin: 0 !important;
    border: none !important;
}

/*--- Items ---*/
.md-toc-content .md-toc-item {
    position: relative;
    padding: 6px 0;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.1s ease;
}

/* Dot before each item */
.md-toc-content .md-toc-item:before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -2px;
    width: 5px;
    height: 5px;
    background: #D977574d;
    border-radius: 50%;
}

/* First-level dot is solid */
.md-toc-content .md-toc-h1::before {
    background: var(--LOGO-color);
}

/*--- Links ---*/
.md-toc-item a.md-toc-inner:hover {
    text-decoration: none;
}

.md-toc-item a {
    padding-left: 18px !important;
}

.md-toc-content .md-toc-h1 a {
    padding-left: 20px;
}

/*--- Tooltip bar ---*/
#write div.md-toc-tooltip {
    z-index: 100;
    top: -52px;
    border-top: 1px solid var(--border-color-30);
    border-bottom: 1px solid var(--border-color-30);
    padding: 3px 0;
}

#write div.md-toc-tooltip .md-delete-toc {
    margin: 0 !important;
    padding: 0 10px;
    background: transparent;
}

#write div.md-toc-tooltip .md-delete-toc:hover {
    background: var(--hover-color);
    color: var(--sidebar-font-color);
}

/*--- Typography ---*/
#write .md-toc-h1 a.md-toc-inner {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--sidebar-font-color) !important;
}

#write a.md-toc-inner {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--sidebar-font-color);
}

/*--- Interactive ---*/
/* Full-row hover feedback */
.md-toc-content .md-toc-item:hover {
    background: var(--hover-color);
}

.md-toc-content .md-toc-item:hover::before {
    background: var(--LOGO-color);
}

.md-toc-item:hover a.md-toc-inner {
    color: var(--font-color) !important;
    text-decoration: none;
}

.md-toc-item:hover a.md-toc-inner code {
    background: var(--hover-color);
    color: var(--font-color);
}

/* Expand click target to full row */
.md-toc-item a.md-toc-inner::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

/* =========================================
   Print / PDF Export Fixes
   ========================================= */

@media print {
    /* --- Lists: replace flexbox gap with margin-based spacing --- */
    #write ul,
    #write ol,
    .write ul,
    .write ol {
        display: block;
        gap: normal;
    }

    #write li,
    .write li {
        margin-bottom: 0.25rem;
    }

    #write li > p,
    .write li > p {
        padding: 0;
        margin: 0;
    }

    #write > ul,
    #write > ol,
    .write > ul,
    .write > ol {
        padding: 0 2rem;
        margin: 0 0 0.75rem 0;
    }

    #write > ul ul,
    #write > ol ol,
    .write > ul ul,
    .write > ol ol {
        padding: 0 2rem 0.25rem 2rem;
        margin: 0.25rem 0 0 0;
    }

    /* --- Tables: 0.5px borders vanish in PDF, bump to 1px + restore padding/line-height --- */
    #write table,
    .write table {
        border-collapse: collapse;
        border-spacing: 0;
        line-height: 1.7;
    }

    #write th,
    #write td,
    .write th,
    .write td {
        font-size: 0.875rem;
        line-height: 1.7;
        padding: 0.5rem 1rem 0.5rem 1px !important;
        border-left: none;
        border-right: none;
        border-top: none;
        border-bottom: 1px solid;
        border-bottom-width: 1px !important;
    }

    #write th,
    .write th {
        border-bottom-color: var(--table-th-border);
        font-weight: var(--font-strong);
    }

    #write td,
    .write td {
        border-bottom-color: var(--table-td-border);
        font-weight: var(--font-weight);
    }

    #write tr:last-child td,
    .write tr:last-child td {
        border-bottom: 1px solid var(--table-td-border);
    }

    #write table thead,
    .write table thead {
        border-bottom: 1px solid var(--table-th-border);
    }

    /* --- Inline code: prevent cross-page splitting --- */
    code {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    p, li {
        widows: 2;
        orphans: 2;
    }

    figure, pre, blockquote {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}

/*--- macOS traffic light spacing ---*/
.mac-os #typora-sidebar,
.mac-seamless-mode #typora-sidebar {
    top: 0 !important;
    bottom: auto !important;
    margin-top: calc(var(--title-bar-height, 28px) + 15px) !important;
    height: calc(100% - var(--title-bar-height, 28px) - 30px) !important;
    overflow: hidden !important;
    contain: layout style !important;
}

.mac-os #typora-sidebar::after,
.mac-seamless-mode #typora-sidebar::after {
    content: none !important;
}

/* macOS already reserves room for traffic lights; hide the extra Files/Outline pill to prevent overlap. */
.mac-os .info-panel-tab-wrapper,
.mac-seamless-mode .info-panel-tab-wrapper {
    display: none !important;
}

.mac-os #typora-sidebar .sidebar-content,
.mac-seamless-mode #typora-sidebar .sidebar-content {
    top: 24px !important;
}

.mac-os #file-library-search-panel,
.mac-seamless-mode #file-library-search-panel {
    top: 0 !important;
}

.mac-os #sidebar-content:hover #file-library,
.mac-seamless-mode #sidebar-content:hover #file-library {
    padding-bottom: 8px !important;
}

.mac-os.active-tab-outline #sidebar-content,
.mac-seamless-mode.active-tab-outline #sidebar-content {
    bottom: 15px !important;
}

.mac-os.active-tab-outline #outline-content,
.mac-seamless-mode.active-tab-outline #outline-content {
    height: 100% !important;
    max-height: 100% !important;
    padding-bottom: 22px !important;
    box-sizing: border-box;
    overflow: auto !important;
}

/* =========================================
   Integrated Mode Fixes
   ========================================= */

/* Keep the Files / Outline labels visually centered inside the sidebar pill tabs. */
.unibody-window .info-panel-tab-title {
    line-height: normal !important;
    transform: translateY(0) !important;
}

.unibody-window .info-panel-tab-title:active {
    transform: scale(0.97) !important;
}

/* Keep the integrated titlebar window controls visually flat on hover. */
.unibody-window #w-traffic-lights .toolbar-icon.btn.hover,
.unibody-window #w-traffic-lights .toolbar-icon.btn:hover,
.unibody-window #top-titlebar #w-close:hover {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--LOGO-color) !important;
}

/* =========================================
   13. Integrated Menu Adaptation (mdmdt Scope)
   ========================================= */

.unibody-window {
    --claude-mega-bg: #1f1e1d;
    --claude-mega-bg-soft: rgba(38, 38, 36, 0.94);
    --claude-mega-panel: rgba(48, 48, 46, 0.62);
    --claude-mega-panel-hover: rgba(58, 58, 55, 0.82);
    --claude-mega-sidebar: rgba(31, 30, 29, 0.95);
    --claude-mega-border: rgba(222, 220, 209, 0.14);
    --claude-mega-border-strong: rgba(222, 220, 209, 0.25);
    --claude-mega-muted: #9a9c92;
    --claude-mega-shadow: 0 20px 54px -32px rgba(0, 0, 0, 0.78);
    --claude-mega-accent-soft: rgba(217, 119, 87, 0.16);
}

.unibody-window.megamenu-opened {
    background:
        radial-gradient(circle at 14% 6%, rgba(255, 255, 255, 0.07), transparent 24%),
        radial-gradient(circle at 92% 8%, rgba(217, 119, 87, 0.12), transparent 28%),
        linear-gradient(135deg, var(--claude-mega-bg), var(--bg-color) 64%) !important;
}

.unibody-window #megamenu-menu-sidebar {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 42%),
        var(--claude-mega-sidebar) !important;
    border-right: 1px solid var(--claude-mega-border) !important;
    box-shadow: 14px 0 40px -28px rgba(0, 0, 0, 0.82) !important;
    color: var(--sidebar-font-color) !important;
    overflow: hidden;
}

.unibody-window #megamenu-menu-sidebar .megamenu-menu-header {
    min-height: 50px;
    border-color: var(--claude-mega-border) !important;
    color: var(--font-color) !important;
}

.unibody-window #megamenu-menu-header-title {
    color: var(--font-color) !important;
    font-weight: 700;
    letter-spacing: 0;
}

.unibody-window #megamenu-back-btn {
    display: none!important;
    /* margin-left: 10px;
    border: none!important;
    color: var(--font-color) !important; */
}

/* .unibody-window #megamenu-back-btn:hover {
    border-color: none !important;
} */

/* .unibody-window #megamenu-back-btn > i {
    display: block;
    color: inherit !important;
    font-size: 16px;
    line-height: 28px;
} */

.unibody-window #megamenu-menu-list {
    padding: 0 8px !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.unibody-window #megamenu-menu-list > li {
    margin-top: 6px;
}

.unibody-window #megamenu-menu-list > li.divider {
    height: 1px;
    margin: 10px 8px;
    border: none !important;
    background: linear-gradient(90deg, transparent, var(--claude-mega-border), transparent) !important;
}

.unibody-window #megamenu-menu-list > li > a {
    min-height: 36px;
    display: flex !important;
    align-items: center;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--sidebar-font-color) !important;
    font-size: 15px !important;
    line-height: 36px !important;
}

.unibody-window #megamenu-menu-list > li > a .fa {
    width: 19px;
    margin: 0 12px 0 0;
    opacity: 1;
    color: var(--claude-mega-muted);
    font-size: 16px;
    line-height: 1;
    text-align: left;
}

.unibody-window #megamenu-menu-list > li > a:hover,
.unibody-window #megamenu-menu-list > li > a.active,
.unibody-window #megamenu-menu-list > li > a.active:hover {
    border-color: var(--LOGO-color) !important;
    background:
        linear-gradient(90deg, var(--claude-mega-accent-soft), transparent 86%),
        var(--claude-mega-panel) !important;
    color: var(--font-color) !important;
}

.unibody-window #megamenu-menu-list > li > a:hover .fa,
.unibody-window #megamenu-menu-list > li > a.active .fa {
    color: var(--LOGO-color) !important;
}

.unibody-window .megamenu-content {
    padding-top: 30px;
    padding-right: 34px;
    background:
        radial-gradient(circle at 28% 0%, rgba(255, 255, 255, 0.07), transparent 24%),
        linear-gradient(180deg, var(--claude-mega-bg-soft), var(--bg-color) 58%) !important;
    color: var(--font-color) !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.unibody-window #megamenu-content {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.unibody-window #megamenu-content::-webkit-scrollbar,
.unibody-window .megamenu-content::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
}

.unibody-window .megamenu-section {
    margin-top: 12px;
}

.unibody-window .megamenu-menu-panel {
    margin-bottom: 22px;
    padding: 20px 22px;
    border: 1px solid var(--claude-mega-border);
    border-radius: 14px;
    background: var(--claude-mega-panel);
    box-shadow: var(--claude-mega-shadow);
}

.unibody-window .megamenu-menu-panel h1 {
    margin-top: 12px;
    margin-bottom: 24px;
    color: var(--font-color);
    font-size: 30px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0;
}

.unibody-window .megamenu-menu-panel h1::after {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    margin-top: 12px;
    border-radius: 999px;
    background: var(--LOGO-color);
}

.unibody-window .megamenu-menu-panel h2 {
    margin-top: 8px;
    margin-bottom: 18px;
    color: var(--sidebar-font-color);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
}

.unibody-window .megamenu-menu-panel .long-btn,
.unibody-window .megamenu-menu-panel .btn {
    border: 1px solid var(--claude-mega-border) !important;
    border-radius: 10px !important;
    background: var(--claude-mega-panel-hover) !important;
    color: var(--font-color) !important;
    box-shadow: none !important;
}

.unibody-window .megamenu-menu-panel .long-btn {
    padding: 12px 14px !important;
    text-align: center;
}

.unibody-window .megamenu-menu-panel .long-btn:hover,
.unibody-window .megamenu-menu-panel .btn:hover {
    border-color: var(--LOGO-color) !important;
    background: var(--claude-mega-accent-soft) !important;
    color: var(--font-color) !important;
}

.unibody-window .megamenu-menu-panel .long-btn:hover span,
.unibody-window .megamenu-menu-panel .long-btn:hover i,
.unibody-window .megamenu-menu-panel .btn:hover {
    color: var(--LOGO-color) !important;
}

.unibody-window #recent-file-panel {
    padding: 14px;
    border: 1px solid var(--claude-mega-border);
    border-radius: 12px;
    background: rgba(222, 220, 209, 0.045);
}

.unibody-window #recent-file-panel-search-input {
    width: calc(100% - 55px);
    height: 32px;
    padding: 0 12px;
    border: 1px solid var(--claude-mega-border) !important;
    border-radius: 8px !important;
    background: var(--claude-mega-panel-hover) !important;
    color: var(--font-color) !important;
}

.unibody-window #recent-file-panel-search-input:focus {
    border-color: var(--LOGO-color) !important;
    box-shadow: 0 0 0 3px rgba(217, 119, 87, 0.22) !important;
}

.unibody-window #recent-file-panel-action-btn-container {
    margin-right: 0;
}

.unibody-window .megamenu-menu-panel #recent-file-panel .dropdown-menu {
    margin-top: 6px;
    border: 1px solid var(--claude-mega-border) !important;
    border-radius: 10px !important;
    background: var(--bg-color) !important;
    box-shadow: var(--box-shadow-userinput) !important;
}

.unibody-window #megamenu-clear-recet-documents {
    padding: 6px 10px;
    border-radius: 7px;
    background: var(--hover-color);
    color: var(--font-color) !important;
    font-size: 13px;
}

.unibody-window #megamenu-clear-recet-documents:hover {
    color: var(--LOGO-color) !important;
}

.unibody-window #recent-document-table {
    border-collapse: separate;
    border-spacing: 0 4px;
}

.unibody-window #recent-document-table th {
    border: none !important;
    color: var(--claude-mega-muted);
    font-size: 12px;
}

.unibody-window #recent-document-table td {
    border: none !important;
    color: var(--sidebar-font-color);
}

.unibody-window #recent-document-table .recent-file-name {
    color: var(--font-color);
    font-weight: 700;
}

.unibody-window #recent-document-table tr:hover td {
    background: var(--claude-mega-accent-soft) !important;
}

.unibody-window #theme-preview-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 24px;
    max-width: 100%;
}

.unibody-window .theme-preview-div {
    margin: 0;
    box-sizing: border-box;
    overflow: hidden;
    padding: 5px;
    border: 2px solid var(--claude-mega-border);
    border-radius: 12px;
    background: var(--claude-mega-panel);
    color: var(--LOGO-color);
    transition: border-color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}

.unibody-window .theme-preview-content {
    width: 100%;
    height: 100%;
    border-radius: 8px;
}

.unibody-window .theme-preview-div:hover {
    transform: translateY(-2px);
    border-color: var(--claude-mega-border-strong);
    box-shadow: var(--claude-mega-shadow);
}

.unibody-window .theme-preview-div.active {
    border-color: var(--LOGO-color);
    box-shadow: 0 0 0 3px var(--claude-mega-accent-soft);
}

.unibody-window .theme-preview-div .fa {
    color: var(--LOGO-color) !important;
}

.unibody-window #open-theme-folder-btn {
    margin-top: 28px;
}

.unibody-window #megamenu-section-about h1 {
    text-align: center;
}

.unibody-window #about-content .about-content-main {
    padding: 20px;
    border: 1px solid var(--claude-mega-border);
    border-radius: 14px;
    background: rgba(222, 220, 209, 0.045);
}

.unibody-window #about-content a,
.unibody-window #megamenu-content .ty-link,
.unibody-window #megamenu-content .open-pandoc-guide {
    color: var(--LOGO-color) !important;
    text-decoration: none !important;
}

.unibody-window #about-content a:hover,
.unibody-window #megamenu-content .ty-link:hover,
.unibody-window #megamenu-content .open-pandoc-guide:hover {
    text-decoration: underline !important;
}

.unibody-window .uni-preference-panel,
.unibody-window .uni-license-panel {
    background:
        radial-gradient(circle at 14% 0%, rgba(255, 255, 255, 0.07), transparent 25%),
        linear-gradient(135deg, var(--claude-mega-bg), var(--bg-color) 62%) !important;
}

.unibody-window .uni-preference-panel webview {
    width: calc(100% - 24px) !important;
    height: calc(100% - 24px) !important;
    margin: 12px !important;
    background: var(--bg-color) !important;
    box-shadow: var(--claude-mega-shadow) !important;
}

.unibody-window .uni-preference-panel {
    top: 0!important;
}

@media (max-width: 1440px) {
    .unibody-window #theme-preview-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1200px) {
    .unibody-window #theme-preview-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .unibody-window #theme-preview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .unibody-window #theme-preview-grid {
        grid-template-columns: 1fr;
    }

    .unibody-window #megamenu-back-btn {
        margin-left: 0 !important;
    }
}

/* --- Integrated menu refinements: font, menu states, open/export interaction, preference shell --- */
.unibody-window {
    --claude-mega-font: "Anthropic Sans Web Text", "Noto Sans SC", "Noto Sanc SC", system-ui, "Segoe UI", sans-serif;
    --claude-mega-slider-bg:
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.06)),
        rgba(48, 48, 46, 0.78);
    --claude-mega-slider-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        inset 0 -1px 0 rgba(0, 0, 0, 0.12),
        0 4px 12px rgba(0, 0, 0, 0.20);
}

.unibody-window #megamenu-menu-sidebar,
.unibody-window .megamenu-content,
.unibody-window .uni-preference-panel,
.unibody-window .uni-license-panel {
    font-family: var(--claude-mega-font) !important;
}

.unibody-window.megamenu-opened header,
.unibody-window.megamenu-opened #top-titlebar {
    background: transparent !important;
    color: var(--sidebar-font-color) !important;
}

.unibody-window.megamenu-opened #top-titlebar *,
.unibody-window.megamenu-opened header * {
    color: inherit !important;
}

.unibody-window #megamenu-menu-list > li > a {
    background-size: 180% 100% !important;
    background-position: 0 50% !important;
    transition:
        background-position 0.28s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease !important;
}

.unibody-window #megamenu-menu-list > li > a:hover,
.unibody-window #megamenu-menu-list > li > a.active,
.unibody-window #megamenu-menu-list > li > a.active:hover {
    border-color: var(--claude-mega-border) !important;
    background: var(--claude-mega-slider-bg) !important;
    background-size: 180% 100% !important;
    background-position: 100% 50% !important;
    color: var(--font-color) !important;
    box-shadow: var(--claude-mega-slider-shadow) !important;
}

.unibody-window #megamenu-menu-list > li > a:hover {
    transform: translateX(2px);
}

.unibody-window #megamenu-section-open .long-btn,
.unibody-window #megamenu-section-export .long-btn {
    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        color 0.18s ease,
        transform 0.18s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.unibody-window #megamenu-section-open .long-btn:hover,
.unibody-window #megamenu-section-export .long-btn:hover {
    border-color: var(--claude-mega-border-strong) !important;
    background: var(--hover-color) !important;
    color: var(--font-color) !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px -18px rgba(0, 0, 0, 0.58) !important;
    border-color: transparent!important;
}

.unibody-window #megamenu-section-open .long-btn:hover span,
.unibody-window #megamenu-section-open .long-btn:hover i,
.unibody-window #megamenu-section-export .long-btn:hover span,
.unibody-window #megamenu-section-export .long-btn:hover i {
    color: var(--font-color) !important;
}

.unibody-window #recent-document-table tbody tr,
.unibody-window #recent-document-table tbody td,
.unibody-window #recent-document-table.table-striped > tbody > tr:nth-of-type(odd),
.unibody-window #recent-document-table.table-striped > tbody > tr:nth-of-type(odd) > td,
.unibody-window #recent-document-table.table-striped > tbody > tr:nth-of-type(even),
.unibody-window #recent-document-table.table-striped > tbody > tr:nth-of-type(even) > td {
    background: transparent !important;
}

.unibody-window #recent-document-table tbody tr,
.unibody-window #recent-document-table tbody td {
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.unibody-window #recent-document-table tbody tr:hover {
    transform: translateX(2px);
}

.unibody-window #recent-document-table tbody tr:hover td {
    background: var(--hover-color) !important;
    color: var(--font-color) !important;
}

.unibody-window #recent-document-table tbody td:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.unibody-window #recent-document-table tbody td:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.unibody-window .uni-preference-panel webview {
    border-radius: 20px !important;
}

/* --- Integrated menu interaction pass: smooth slider layer and visible recent-file hover --- */
.unibody-window {
    --claude-mega-menu-hover-bg:
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.06)),
        rgba(48, 48, 46, 0.78);
    --claude-recent-row-hover-bg: rgba(217, 119, 87, 0.16);
}

.unibody-window #megamenu-menu-list > li > a {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: transparent !important;
    transition:
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        color 0.22s ease,
        transform 0.22s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.unibody-window #megamenu-menu-list > li > a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background: var(--claude-mega-menu-hover-bg);
    box-shadow: var(--claude-mega-slider-shadow);
    opacity: 0;
    transform: scaleX(0.94);
    transform-origin: left center;
    transition:
        opacity 0.24s ease,
        transform 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

.unibody-window #megamenu-menu-list > li > a:hover,
.unibody-window #megamenu-menu-list > li > a.active,
.unibody-window #megamenu-menu-list > li > a.active:hover {
    background: transparent !important;
    box-shadow: none !important;
}

.unibody-window #megamenu-menu-list > li > a:hover::before,
.unibody-window #megamenu-menu-list > li > a.active::before,
.unibody-window #megamenu-menu-list > li > a.active:hover::before {
    opacity: 1;
    transform: scaleX(1);
}

.unibody-window #megamenu-menu-list > li > a .fa,
.unibody-window #megamenu-menu-list > li > a span {
    position: relative;
    z-index: 1;
    transition: color 0.2s ease;
}

.unibody-window #recent-document-table.table-hover > tbody > tr:hover,
.unibody-window #recent-document-table.table-hover > tbody > tr:hover > td,
.unibody-window #recent-document-table tbody > tr.recent-file-item:hover,
.unibody-window #recent-document-table tbody > tr.recent-file-item:hover > td {
    background: var(--claude-recent-row-hover-bg) !important;
    background-color: var(--claude-recent-row-hover-bg) !important;
}

.unibody-window #recent-document-table tbody > tr.recent-file-item:hover .recent-file-name {
    color: var(--font-color) !important;
}

/* --- Integrated menu interaction trim: non-active hover keeps text motion only --- */
.unibody-window #megamenu-menu-list > li > a span {
    display: inline-block;
    transition:
        color 0.2s ease,
        transform 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

.unibody-window #megamenu-menu-list > li > a:not(.active):hover {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none;
}

.unibody-window #megamenu-menu-list > li > a:not(.active):hover::before {
    opacity: 0 !important;
    transform: scaleX(0.94) !important;
}

.unibody-window #megamenu-menu-list > li > a:not(.active):hover span {
    transform: translateX(3px);
    color: var(--font-color) !important;
}

.unibody-window #recent-document-table.table-hover > tbody > tr:hover,
.unibody-window #recent-document-table.table-hover > tbody > tr:hover > td,
.unibody-window #recent-document-table tbody > tr.recent-file-item:hover,
.unibody-window #recent-document-table tbody > tr.recent-file-item:hover > td,
.unibody-window #recent-document-table tbody tr:hover td {
    background: var(--hover-color) !important;
    background-color: var(--hover-color) !important;
}

/* Large-screen writing area adaptation */
@media (min-width: 1280px) {
    #write {
        max-width: min(1180px, calc(100vw - 360px));
        padding-left: 2.25rem;
        padding-right: 2.25rem;
    }

    #write table,
    #write .md-table,
    #write .md-table-fig,
    #write .md-fences,
    #write pre,
    #write .CodeMirror,
    #write .md-math-block,
    #write .md-math-container,
    #write mjx-container,
    #write img {
        max-width: 100%;
    }
}

@media (min-width: 1800px) {
    #write {
        max-width: min(1360px, calc(100vw - 440px));
        padding-left: 3rem;
        padding-right: 3rem;
    }
}
