/**
 * 写作 IDE（projects.html）Sudowrite 风格：圆角玻璃顶栏、主色紫、纸感编辑区、侧栏卡片化。
 * 依赖 wensi-appearance.css 的背景图与 theme 类。
 */

body.sudowrite-ide {
    font-family: "DM Sans", "Segoe UI", "Microsoft YaHei", sans-serif;
}

/*
 * 深色写作页：侧栏/顶栏等为半透明叠色、无 backdrop-blur，直接透出背景图；
 * 仅正文编辑框 (#center-pane .editor-highlight-wrap) 保留磨砂模糊。
 */
body.sudowrite-ide.theme-dark {
    --wensi-dark-glass-bg: rgba(15, 23, 42, 0.4);
    --wensi-dark-glass-border: rgba(255, 255, 255, 0.14);
}

body.sudowrite-ide .menu-title {
    font-family: "DM Sans", "Segoe UI", sans-serif;
    font-weight: 700;
    letter-spacing: -0.03em;
    font-size: 15px;
}

/* 顶栏 + 工具栏合一玻璃卡片 */
body.sudowrite-ide .ide-chrome {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    overflow: visible;
    margin-bottom: 10px;
    position: relative;
    z-index: 50;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow:
        0 18px 46px rgba(15, 23, 42, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.sudowrite-ide .layout {
    position: relative;
    z-index: 10;
}

body.sudowrite-ide.theme-dark .ide-chrome {
    background: var(--wensi-dark-glass-bg, rgba(15, 23, 42, 0.4)) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.sudowrite-ide.theme-light .ide-chrome {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    border-color: rgba(99, 68, 212, 0.12);
    box-shadow:
        0 16px 44px rgba(99, 68, 212, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

body.sudowrite-ide .menu-bar {
    height: auto;
    min-height: 34px;
    padding: 4px 10px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: transparent !important;
    border-bottom-color: rgba(255, 255, 255, 0.1);
    position: relative;
    z-index: 60;
}

body.sudowrite-ide.theme-light .menu-bar {
    border-bottom-color: rgba(99, 68, 212, 0.1);
}

/* 菜单项：胶囊 */
body.sudowrite-ide .menu-group {
    position: relative;
    z-index: 70;
}

body.sudowrite-ide .menu-group .menu-item {
    border-radius: 999px;
    padding: 4px 11px;
    font-size: 12px;
    font-weight: 500;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: background 0.15s ease, border-color 0.15s ease;
}

body.sudowrite-ide.theme-light .menu-group .menu-item {
    background: rgba(99, 68, 212, 0.06);
    color: #3f2d6b;
    border-color: rgba(99, 68, 212, 0.1);
}

body.sudowrite-ide .menu-group.menu-open .menu-item {
    background: rgba(99, 68, 212, 0.2);
    border-color: rgba(99, 68, 212, 0.35);
    color: #f1f5f9;
}

body.sudowrite-ide.theme-light .menu-group.menu-open .menu-item {
    color: #3b2a5c;
    background: rgba(99, 68, 212, 0.12);
}

body.sudowrite-ide .menu-dropdown {
    z-index: 300;
    border-radius: 14px;
    border: 1px solid rgba(99, 68, 212, 0.25);
    margin-top: 4px;
    background: rgba(15, 23, 42, 0.95) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}

body.sudowrite-ide.theme-light .menu-dropdown {
    background: rgba(255, 255, 255, 0.98) !important;
}

/* 主工具条：三列 */
body.sudowrite-ide .sudowrite-toolbar {
    min-height: 34px;
    height: auto;
    padding: 4px 10px;
    flex-wrap: wrap;
    gap: 6px;
    background: transparent !important;
    border: 0 !important;
    align-items: center;
}

body.sudowrite-ide .sudowrite-toolbar__left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 200px;
    min-width: 0;
}

body.sudowrite-ide .sudowrite-toolbar__center {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    flex: 2 1 360px;
    justify-content: center;
}

body.sudowrite-ide .sudowrite-toolbar__right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    flex: 1 1 280px;
    justify-content: flex-end;
}

/* 大纲区保存与其它 outline 图标共用 .btn / .btn-outline-icon，不单独覆写底色以免透明度不一致 */

/* 面包屑与字数：轻量标签 */
body.sudowrite-ide .sudowrite-toolbar .breadcrumb {
    border: 0;
    background: rgba(255, 255, 255, 0.06) !important;
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 12px;
    color: #c7d2fe !important;
}

body.sudowrite-ide.theme-light .sudowrite-toolbar .breadcrumb {
    color: #4a3d6b !important;
    background: rgba(99, 68, 212, 0.08) !important;
}

body.sudowrite-ide #center-pane .chapter-title-word-count {
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    padding: 4px 10px;
    border: 1px solid rgba(99, 68, 212, 0.25);
}

body.sudowrite-ide.theme-light #center-pane .chapter-title-word-count {
    color: #5b4a78 !important;
    background: rgba(255, 255, 255, 0.85) !important;
}

/* 工具条次级按钮：幽灵胶囊 */
body.sudowrite-ide .sudowrite-toolbar__center .btn:not(.danger),
body.sudowrite-ide .sudowrite-toolbar__right .btn:not(.danger) {
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    padding: 5px 12px;
    background: rgba(255, 255, 255, 0.07) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #e2e8f0 !important;
}

body.sudowrite-ide.theme-light .sudowrite-toolbar__center .btn:not(.danger),
body.sudowrite-ide.theme-light .sudowrite-toolbar__right .btn:not(.danger) {
    color: #3d2f5c !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border-color: rgba(99, 68, 212, 0.2) !important;
}

body.sudowrite-ide .sudowrite-toolbar .btn.danger {
    border-radius: 999px;
    padding: 8px 16px;
}

/* 三栏区：板块间隙与圆角 */
body.sudowrite-ide .layout {
    gap: 12px;
    align-items: stretch;
}

body.sudowrite-ide .left-pane,
body.sudowrite-ide .right-pane,
body.sudowrite-ide .center-pane {
    border-radius: 18px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.2);
}

body.sudowrite-ide.theme-light .left-pane,
body.sudowrite-ide.theme-light .right-pane,
body.sudowrite-ide.theme-light .center-pane {
    border-color: rgba(99, 68, 212, 0.12) !important;
    box-shadow: 0 12px 36px rgba(99, 68, 212, 0.1);
}

/* 侧栏内按钮 */
body.sudowrite-ide .left-pane .btn,
body.sudowrite-ide .right-pane .btn {
    border-radius: 10px;
    font-size: 12px;
    font-weight: 500;
}

/* 章节树当前行 */
body.sudowrite-ide .node-row {
    border-radius: 10px;
    padding: 6px 8px;
}

body.sudowrite-ide.theme-light #outline-panel .node-row:hover {
    background: rgba(99, 68, 212, 0.12) !important;
}

body.sudowrite-ide.theme-light #outline-panel .node-row.active {
    background: rgba(99, 68, 212, 0.38) !important;
    color: #1e1b2e !important;
}

/* 编辑区：Sudowrite 下 textarea 与镜像层须同一套排版，避免连字/字距与 webfont 导致换行与字宽不一致 */
body.sudowrite-ide .editor-textarea,
body.sudowrite-ide .editor-highlight-layer {
    font-family: "Microsoft YaHei", "PingFang SC", "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0;
    word-spacing: 0;
    tab-size: 4;
    -moz-tab-size: 4;
    text-indent: 0;
    text-transform: none;
    text-align: start;
    font-variant-ligatures: none;
    font-feature-settings: "liga" 0, "clig" 0, "calt" 0, "kern" 0;
    font-kerning: none;
    white-space: pre-wrap;
    overflow-wrap: break-word;
    word-break: normal;
    scrollbar-gutter: stable;
}

/* mark 行盒与纯文本 textarea 对齐，避免高亮条整体下移/错位 */
body.sudowrite-ide .editor-highlight-layer mark {
    margin: 0;
    border: 0;
    padding: 0;
    font: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    vertical-align: baseline;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

body.sudowrite-ide .editor-highlight-wrap::before {
    border-radius: 16px !important;
}

/* 深色正文框：保留磨砂；衬底略透明以便 backdrop-blur 透出壁纸层次 */
body.sudowrite-ide.theme-dark #center-pane .editor-highlight-wrap {
    backdrop-filter: blur(18px) saturate(110%);
    -webkit-backdrop-filter: blur(18px) saturate(110%);
}

body.sudowrite-ide.theme-dark #center-pane .editor-highlight-wrap::before {
    background: rgba(30, 41, 59, 0.88) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
}

body.sudowrite-ide.theme-dark .editor-textarea {
    color: #f1f5f9 !important;
    caret-color: #f1f5f9 !important;
}

body.sudowrite-ide.theme-dark .editor-highlight-wrap.tab-ghost-active .editor-highlight-layer {
    color: #f1f5f9 !important;
}

body.sudowrite-ide.theme-dark .editor-highlight-wrap.tab-ghost-active .editor-textarea {
    color: transparent !important;
    caret-color: #f1f5f9 !important;
}

body.sudowrite-ide.theme-light .editor-highlight-wrap::before {
    background: #ffffff !important;
    border-color: rgba(15, 23, 42, 0.12) !important;
}

body.sudowrite-ide.theme-light .editor-textarea,
body.sudowrite-ide.theme-light .editor-highlight-wrap.tab-ghost-active .editor-highlight-layer {
    color: #111827 !important;
    caret-color: #111827 !important;
}

body.sudowrite-ide.theme-light .editor-highlight-wrap.tab-ghost-active .editor-textarea {
    caret-color: #111827 !important;
}

body.sudowrite-ide #center-pane .chapter-title-label {
    color: #c4b5fd !important;
    font-family: "DM Sans", "Microsoft YaHei", sans-serif;
    font-size: 12px;
    font-weight: 600;
}

body.sudowrite-ide.theme-light #center-pane .chapter-title-label {
    color: #5b4a78 !important;
}

body.sudowrite-ide .chapter-title-input {
    border-radius: 12px !important;
    font-family: "DM Sans", "Microsoft YaHei", sans-serif;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: -0.02em;
    padding: 6px 12px !important;
}

body.sudowrite-ide.theme-dark .chapter-title-input {
    background: var(--wensi-dark-input-bg) !important;
    color: #f1f5f9 !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
}

body.sudowrite-ide.theme-light .chapter-title-input {
    background: #ffffff !important;
    color: #1a1528 !important;
    border-color: rgba(15, 23, 42, 0.18) !important;
}

body.sudowrite-ide .panel-title {
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    letter-spacing: -0.02em;
    font-size: 13px;
    text-transform: none;
    color: #c4b5fd !important;
}

body.sudowrite-ide.theme-light .panel-title {
    color: #6344d4 !important;
}

/* 聊天区气泡 */
body.sudowrite-ide .chat-messages {
    border-radius: 14px !important;
    padding: 12px;
}

body.sudowrite-ide .chat-msg {
    border-radius: 14px !important;
}

body.sudowrite-ide .chat-msg.user {
    background: rgba(99, 68, 212, 0.45) !important;
    border: 1px solid rgba(99, 68, 212, 0.35);
}

body.sudowrite-ide.theme-light .chat-msg.user {
    background: rgba(99, 68, 212, 0.18) !important;
    color: #2d1f4a !important;
}

body.sudowrite-ide .chat-input {
    border-radius: 999px !important;
}

/* 大纲工具条：＋ − 保存 与「桥梁」同尺寸、同圆形、同底色（覆盖 .left-pane .btn 的 10px 圆角） */
body.sudowrite-ide #outline-panel .toolbar--outline .btn.btn-outline-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}
/* 深色：与 wensi「body.theme-dark .btn:not(.danger)」同一套玻璃底；减号须同规则，否则 .danger 被全局 :not 排除后会变一块实心深色 */
body.sudowrite-ide.theme-dark #outline-panel .toolbar--outline .btn.btn-outline-icon {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #f1f5f9 !important;
}
body.sudowrite-ide.theme-dark #outline-panel .toolbar--outline .btn.btn-outline-icon:hover {
    background: rgba(255, 255, 255, 0.11) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: #f1f5f9 !important;
}
body.sudowrite-ide.theme-light #outline-panel .toolbar--outline .btn.btn-outline-icon:not(.danger) {
    background: rgba(255, 255, 255, 0.55) !important;
    border-color: rgba(99, 68, 212, 0.22) !important;
    color: #1e1b2e !important;
}
body.sudowrite-ide.theme-light #outline-panel .toolbar--outline .btn.btn-outline-icon:not(.danger):hover {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(99, 68, 212, 0.32) !important;
}
body.sudowrite-ide.theme-light #outline-panel .toolbar--outline .btn.btn-outline-icon.danger {
    background: rgba(255, 255, 255, 0.55) !important;
    border-color: rgba(99, 68, 212, 0.22) !important;
    color: #1e1b2e !important;
}
body.sudowrite-ide.theme-light #outline-panel .toolbar--outline .btn.btn-outline-icon.danger:hover {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(99, 68, 212, 0.32) !important;
    color: #1e1b2e !important;
}

/* 大纲工具栏 SVG 线宽统一，横线减号与其它图标视觉粗细一致 */
body.sudowrite-ide #outline-panel .toolbar--outline .btn.btn-outline-icon svg {
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* AI 聊天区：新建 / 删除会话与大纲圆形按钮同一套底与线色（无 .danger，避免全局 :not(.danger) 漏配） */
body.sudowrite-ide.theme-dark #chat-panel .chat-session-row .btn.btn-outline-icon {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #f1f5f9 !important;
}
body.sudowrite-ide.theme-dark #chat-panel .chat-session-row .btn.btn-outline-icon:hover {
    background: rgba(255, 255, 255, 0.11) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: #f1f5f9 !important;
}
body.sudowrite-ide.theme-light #chat-panel .chat-session-row .btn.btn-outline-icon {
    background: rgba(255, 255, 255, 0.55) !important;
    border-color: rgba(99, 68, 212, 0.22) !important;
    color: #1e1b2e !important;
}
body.sudowrite-ide.theme-light #chat-panel .chat-session-row .btn.btn-outline-icon:hover {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(99, 68, 212, 0.32) !important;
    color: #1e1b2e !important;
}

body.sudowrite-ide #chat-panel .chat-session-row .btn.btn-outline-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}
body.sudowrite-ide #chat-panel .chat-session-row .btn.btn-outline-icon svg {
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.sudowrite-ide .project-select,
body.sudowrite-ide .chapter-title-input {
    border-radius: 12px !important;
}

/* 概要 / 备注框 */
body.sudowrite-ide .summary-view,
body.sudowrite-ide .note-area {
    border-radius: 14px !important;
}

body.sudowrite-ide #current-folder-tip.breadcrumb {
    border-radius: 12px !important;
}

/* 正文区：图标按钮与工具栏行 */
body.sudowrite-ide .editor-toolbar--compact .btn-icon-only,
body.sudowrite-ide .editor-toolbar__row .btn-icon-only {
    border-radius: 10px !important;
}

body.sudowrite-ide #center-pane .editor-highlight-wrap.editor-no-chapter::before {
    background: transparent !important;
}

body.sudowrite-ide #center-pane .editor-highlight-wrap.editor-creation-locked {
    opacity: 0.72;
}

body.sudowrite-ide #center-pane .editor-wrap.editor-input-locked,
body.sudowrite-ide #center-pane .editor-wrap.editor-input-locked .chapter-title-row,
body.sudowrite-ide #center-pane .editor-wrap.editor-input-locked .editor-toolbar,
body.sudowrite-ide #center-pane .editor-wrap.editor-input-locked .editor-highlight-wrap,
body.sudowrite-ide #center-pane .editor-wrap.editor-input-locked .editor-textarea,
body.sudowrite-ide #center-pane .editor-wrap.editor-input-locked .editor-highlight-layer,
body.sudowrite-ide #center-pane .editor-wrap.editor-input-locked .match-panel,
body.sudowrite-ide #center-pane .editor-wrap.editor-input-locked .voice-overlay-btn {
    cursor: not-allowed !important;
}

/* 深色：除正文编辑框外一律去掉磨砂，仅靠半透明底色透出壁纸（覆盖 wensi-appearance） */
body.sudowrite-ide.theme-dark .menu-bar,
body.sudowrite-ide.theme-dark .toolbar-main,
body.sudowrite-ide.theme-dark .left-pane,
body.sudowrite-ide.theme-dark .right-pane,
body.sudowrite-ide.theme-dark .panel,
body.sudowrite-ide.theme-dark .card,
body.sudowrite-ide.theme-dark .summary-view,
body.sudowrite-ide.theme-dark .chat-messages,
body.sudowrite-ide.theme-dark .breadcrumb,
body.sudowrite-ide.theme-dark .word-count,
body.sudowrite-ide.theme-dark .match-panel,
body.sudowrite-ide.theme-dark .modal-card,
body.sudowrite-ide.theme-dark .modal-content,
body.sudowrite-ide.theme-dark .modal-list,
body.sudowrite-ide.theme-dark #center-pane .editor-wrap,
body.sudowrite-ide.theme-dark .menu-dropdown,
body.sudowrite-ide.theme-dark .game-menu-float,
body.sudowrite-ide.theme-dark .linked-kb-dropdown,
body.sudowrite-ide.theme-dark .knowledge-hover-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* 中间栏外壳：无磨砂；磨砂仅在 .editor-highlight-wrap */
body.sudowrite-ide.theme-dark #center-pane .editor-wrap {
    background: var(--wensi-dark-glass-bg) !important;
    border-radius: 16px;
}

/* 下拉 / 悬浮：略提高不透明度以利辨认，仍无 blur */
body.sudowrite-ide.theme-dark .menu-dropdown {
    background: rgba(15, 23, 42, 0.82) !important;
}

body.sudowrite-ide.theme-dark .game-menu-float,
body.sudowrite-ide.theme-dark .linked-kb-dropdown {
    background: rgba(15, 23, 42, 0.82) !important;
    border-color: var(--wensi-dark-glass-border) !important;
}

body.sudowrite-ide.theme-dark .knowledge-hover-card {
    background: rgba(15, 23, 42, 0.82) !important;
}

/* 写作页弹窗：深色灰调与 wensi-appearance 全局 modal 一致（本选择器更具体，须同步维护） */
body.sudowrite-ide.theme-dark .modal-mask {
    background: rgba(2, 6, 23, 0.58) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
body.sudowrite-ide.theme-dark .modal-card,
body.sudowrite-ide.theme-dark .modal-content {
    background: rgba(30, 41, 59, 0.94) !important;
    border: 1px solid rgba(148, 163, 184, 0.22) !important;
    color: #e2e8f0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.45);
    padding: 18px 22px !important;
    max-height: 85vh !important;
}
body.sudowrite-ide.theme-dark .modal-card h3 {
    color: #f8fafc !important;
}
body.sudowrite-ide.theme-dark .modal-card .sub {
    color: #94a3b8 !important;
}
body.sudowrite-ide.theme-dark .modal-card label {
    color: #cbd5e1 !important;
}
body.sudowrite-ide.theme-dark .modal-list {
    background: rgba(15, 23, 42, 0.65) !important;
    border-color: rgba(148, 163, 184, 0.2) !important;
}
body.sudowrite-ide.theme-dark .modal-item:hover {
    background: rgba(99, 68, 212, 0.18) !important;
}
body.sudowrite-ide.theme-dark .modal-card .note-area,
body.sudowrite-ide.theme-dark .modal-card textarea.note-area {
    background: rgba(15, 23, 42, 0.75) !important;
    border-color: rgba(148, 163, 184, 0.22) !important;
    color: #f1f5f9 !important;
}
body.sudowrite-ide.theme-dark .modal-card .status {
    color: #94a3b8 !important;
}
body.sudowrite-ide.theme-dark .modal-card .chapter-title-input,
body.sudowrite-ide.theme-dark .modal-card input[type="text"],
body.sudowrite-ide.theme-dark .modal-card input[type="password"],
body.sudowrite-ide.theme-dark .modal-card input[type="number"],
body.sudowrite-ide.theme-dark .modal-card input[type="file"],
body.sudowrite-ide.theme-dark .modal-card textarea,
body.sudowrite-ide.theme-dark .modal-card select {
    background: var(--wensi-dark-input-bg) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    color: #f1f5f9 !important;
}
body.sudowrite-ide.theme-dark .modal-card .btn:not(.danger):not(.btn-primary) {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    color: #f1f5f9 !important;
}
body.sudowrite-ide.theme-dark .modal-card .btn:not(.danger):not(.btn-primary):hover {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
}
body.sudowrite-ide.theme-dark .modal-card .btn.btn-primary {
    background: linear-gradient(135deg, #6344d4, #8b6ae8) !important;
    border-color: rgba(99, 68, 212, 0.85) !important;
    color: #fff !important;
}
body.sudowrite-ide.theme-dark .modal-card .btn.btn-primary:hover {
    background: linear-gradient(135deg, #5438c4, #7c5ddb) !important;
    border-color: rgba(129, 140, 248, 0.65) !important;
    color: #fff !important;
}
body.sudowrite-ide.theme-dark .modal-card .btn.danger {
    background: rgba(127, 29, 29, 0.45) !important;
    border-color: rgba(248, 113, 113, 0.35) !important;
    color: #fecaca !important;
}
body.sudowrite-ide.theme-dark .modal-card .btn.danger:hover {
    background: rgba(127, 29, 29, 0.62) !important;
    border-color: rgba(252, 165, 165, 0.45) !important;
}
body.sudowrite-ide.theme-dark .modal-card .msg {
    color: #fca5a5 !important;
}
body.sudowrite-ide.theme-dark .modal-card .msg.ok {
    color: #86efac !important;
}
