[data-theme='dark'] .text-gray-500 {
    color: rgb(200, 198, 194) !important;
}


.lucide-rotate-ccw {
    color: white !important;
    /* Inherit from parent button for theme compatibility */
}

.vh-line-num {
    margin-left: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(205, 205, 205, 0.06);
    color: #838383;
    font-size: 10px;
    font-weight: 600;
    padding: 1px 2px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

/* ─── Theme Tokens ──────────────────────────────────────────────────── */
/* Dark mode (default) - New warm dark theme */
[data-theme='dark'] {
    --bg-base: #181818;
    --bg-surface: #222222;
    --bg-elevated: #282828;
    --bg-sidebar: #1e1e1e;
    --bg-hover: rgba(255, 255, 255, 0.06);
    --bg-active: rgba(232, 103, 58, 0.14);
    --border-subtle: #383838;
    --border-mid: #454545;
    --text-primary: #f4f2ef;
    --text-secondary: #b8b4ae;
    --text-muted: #8a8680;
    --text-dim: #6a6660;
    --accent: #e8673a;
    --accent-hover: #f07850;
    --accent-bg: rgba(232, 103, 58, 0.14);
    --accent-blue: #7eb8e8;
    --bg-tag-popover: #0f0f0f;
}

[data-theme='light'] {
    --bg-base: #f4f1ec;
    --bg-surface: #faf7f3;
    --bg-elevated: #ffffff;
    --bg-sidebar: #f7f3ee;
    --bg-hover: rgba(0, 0, 0, 0.05);
    --bg-active: rgba(232, 103, 58, 0.1);
    --border-subtle: rgba(42, 38, 34, 0.1);
    --border-mid: rgba(42, 38, 34, 0.16);
    --text-primary: #1c1917;
    --text-secondary: #44403c;
    --text-muted: #78716c;
    --text-dim: #a8a29e;
    --accent: #c2410c;
    --accent-hover: #ea580c;
    --accent-bg: rgba(194, 65, 12, 0.1);
    --accent-blue: #1d4ed8;
    --bg-tag-popover: #faf7f3;
}

/* Snapshot Tags Styles */
.snapshot-tag-bubble {
    font-size: 10px;
    padding: 1.5px 8px;
    border-radius: 6px;
    font-weight: 700;
    color: black;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.snapshot-icon-btn {
    border: none;
    background: none;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-muted);
    transition: all 0.2s;
    border-radius: 6px;
}

.snapshot-icon-btn:hover {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.snapshot-icon-btn.delete:hover {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.12);
}

.tag-color-circle.active {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}

.tag-popover {
    background: var(--bg-tag-popover) !important;
    border: 1px solid var(--border-mid) !important;
    box-shadow: rgba(0, 0, 0, 0.4) 0px 24px 64px;
    animation: popoverFade 0.2s ease;
    z-index: 10000;
}

[data-theme='light'] .tag-popover {
    box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 48px;
    border: 1px solid var(--border-subtle) !important;
}

.tag-row span {
    font-size: 13px !important;
    color: var(--text-primary) !important;
}

.tag-input {
    font-size: 13px !important;
    background: var(--bg-base) !important;
}

@keyframes popoverFade {
    from {
        opacity: 0;
        transform: translateX(10px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Apply tokens to key surfaces */
[data-theme='light'] body {
    background: var(--bg-base);
    color: var(--text-secondary);
}

[data-theme='dark'] aside,
[data-theme='dark'] #sidebar {
    background: var(--bg-sidebar) !important;
}

[data-theme='light'] .icon-bar {
    background: var(--bg-base);
    border-color: var(--border-subtle);
}

[data-theme='light'] aside {
    background: var(--bg-surface) !important;
    border-color: var(--border-subtle) !important;
}

[data-theme='light'] .editor-container {
    background: var(--bg-base);
}

[data-theme='light'] .editor-header {
    border-color: var(--border-subtle);
}

[data-theme='light'] .sidebar-item {
    color: var(--text-muted);
}

[data-theme='light'] .sidebar-item:hover {
    background: var(--bg-hover);
    color: var(--text-secondary);
}

[data-theme='light'] .sidebar-item.active {
    background: var(--bg-active);
    color: var(--text-primary);
}

[data-theme='light'] header {
    background: var(--bg-surface) !important;
    border-color: var(--border-subtle) !important;
}

[data-theme='light'] .tab-bar {
    background: var(--bg-surface) !important;
    border-color: var(--border-subtle);
}

[data-theme='light'] .tab-item {
    color: var(--text-muted);
    border-color: var(--border-subtle);
}

[data-theme='light'] .tab-item.active {
    color: var(--text-primary);
    border-bottom-color: var(--text-primary);
}

[data-theme='light'] .editor-status-bar {
    background: var(--bg-elevated);
    color: var(--text-secondary);
    border-color: var(--border-subtle);
}

[data-theme='light'] #editor,
[data-theme='light'] h1[contenteditable] {
    color: var(--text-secondary);
}

[data-theme='light'] #editor>*::before {
    color: var(--text-dim);
}

[data-theme='light'] ::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.08);
}

[data-theme='light'] ::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.15);
}

[data-theme='light'] #editor-toolbar button {
    color: var(--text-secondary);
}

[data-theme='light'] #editor-toolbar button:hover {
    color: var(--accent);
}

[data-theme='light'] #editor-toolbar button:active,
[data-theme='light'] #editor-toolbar button.active {
    color: var(--accent);
}

[data-theme='light'] .loomin-cursor-bubble {
    color: var(--text-primary);
}

[data-theme='light'] .loomin-cursor-bubble.active {
    background: transparent;
}

[data-theme='light'] .loomin-avatar {
    background: var(--bg-hover);
    color: var(--accent);
}

[data-theme='light'] .page-title-label {
    color: var(--text-primary);
}

[data-theme='light'] .page-title-label:hover {
    background: var(--bg-hover);
    color: var(--text-primary);
}

[data-theme='light'] #time-travel-btn-header {
    color: var(--accent) !important;
}

[data-theme='light'] #time-travel-btn-header:hover {
    background: var(--bg-hover);
    color: var(--accent-hover) !important;
}

[data-theme='light'] #time-travel-btn-header .lucide {
    color: var(--accent) !important;
}

[data-theme='light'] #focus-toggle span {
    color: var(--text-primary) !important;
}

[data-theme='light'] #focus-toggle:hover span {
    color: var(--accent) !important;
}

[data-theme='light'] #focus-toggle .toggle-dot {
    background: var(--accent) !important;
}

[data-theme='light'] #focus-toggle .w-6 {
    background: var(--bg-hover);
    border-color: var(--border-mid);
}

[data-theme='light'] #tt-controls {
    color: var(--text-secondary);
}

[data-theme='light'] #tt-slider {
    background: var(--border-mid);
}

[data-theme='light'] #tt-back-btn,
[data-theme='light'] #tt-forward-btn {
    color: var(--text-secondary);
}

[data-theme='light'] #tt-back-btn:hover,
[data-theme='light'] #tt-forward-btn:hover {
    color: var(--text-primary);
    background: var(--bg-hover);
}

[data-theme='light'] #tt-position {
    color: var(--text-secondary);
}

#time-travel-btn-sidebar:hover {
    color: var(--text-primary) !important;
}

[data-theme='light'] #tt-date-sticker {
    background: var(--accent-bg);
    border-color: var(--accent);
    color: var(--accent);
}

[data-theme='light'] #tt-snapshot-btn,
[data-theme='light'] #tt-doc-from-snapshot-btn {
    color: var(--text-secondary);
    border-color: var(--border-subtle);
}

[data-theme='light'] #tt-snapshot-btn:hover,
[data-theme='light'] #tt-doc-from-snapshot-btn:hover {
    color: var(--text-primary);
    background: var(--bg-hover);
}

[data-theme='light'] #tt-close-btn {
    color: var(--text-secondary);
}

[data-theme='light'] #tt-close-btn:hover {
    color: var(--text-primary);
    background: var(--bg-hover);
}

[data-theme='light'] #tt-density-container {
    background: var(--bg-surface);
    border-color: var(--border-subtle);
}

[data-theme='light'] #tt-density {
    color: var(--text-secondary);
}

[data-theme='light'] #docs-list,
[data-theme='light'] .collapse-content {
    background: var(--bg-surface);
}

[data-theme='light'] aside,
[data-theme='light'] #sidebar {
    background: var(--bg-surface) !important;
    border-color: var(--border-subtle) !important;
}

[data-theme='light'] .icon-bar {
    background: var(--bg-elevated) !important;
    border-color: var(--border-subtle) !important;
}

[data-theme='light'] .sidebar-section {
    border-color: var(--border-subtle);
}

[data-theme='light'] .sidebar-section-title {
    color: var(--text-primary);
}

[data-theme='light'] .sidebar-item,
[data-theme='light'] .sidebar-doc-item {
    color: var(--text-primary);
}

[data-theme='light'] .sidebar-item:hover,
[data-theme='light'] .sidebar-doc-item:hover {
    background: var(--bg-hover);
    color: var(--text-primary);
}

[data-theme='light'] .sidebar-item.active,
[data-theme='light'] .sidebar-doc-item.active {
    background: var(--bg-active);
    color: var(--accent);
}

[data-theme='light'] .doc-folder-header {
    color: var(--text-primary);
}

[data-theme='light'] .doc-folder-header:hover {
    background: var(--bg-hover);
}

[data-theme='light'] .sidebar-section-title .lucide {
    color: var(--text-secondary);
}

[data-theme='light'] .sidebar-item .lucide {
    color: var(--text-secondary);
}

[data-theme='light'] .sidebar-section-title .text-\[\#c5b4a6\] {
    color: var(--accent) !important;
}

[data-theme='light'] .lucide {
    color: var(--text-secondary) !important;
    width: 14px;
    height: 14px;
}

[data-theme='light'] .editor-status-bar {
    background: var(--bg-surface);
    color: var(--text-secondary);
    border-color: var(--border-subtle);
}

[data-theme='light'] .editor-status-bar .status-sep {
    color: rgba(0, 0, 0, 0.12);
}

/* Toolbar Dropdowns */
.toolbar-dropdown {
    background: var(--bg-elevated) !important;
    border: 1px solid var(--border-mid) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45) !important;
}

.toolbar-dropdown-item {
    color: var(--text-secondary) !important;
    transition: all 0.15s ease;
}

.toolbar-dropdown-item:hover {
    background: var(--bg-hover) !important;
    color: var(--text-primary) !important;
}

#account-user-info {
    background: var(--bg-surface);
    border-bottom: 1px solid var(--border-subtle);
}

#account-user-info .account-avatar {
    background: rgba(126, 126, 126, 0.14);
    color: #b26d6d;
    border: 1px solid var(--border-mid);
    box-shadow: none;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

#account-user-info .account-name {
    color: var(--text-primary);
    font-weight: 600;
}

#account-user-info .account-email {
    color: var(--text-muted);
}

#account-user-info:hover .account-avatar {
    transform: scale(1.04);
    border-color: var(--accent);
}

body {
    font-family: 'Inter', sans-serif;
    overflow: hidden;
    background: var(--bg-base);
    height: 100vh;
    transition: filter 0.2s ease;
}

body.theme-switching {
    filter: blur(10px);
    pointer-events: none;
    transition: filter 0.5s ease;
}

.lucide,
.lucide-* {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

i[data-lucide] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px !important;
    height: 14px !important;
}

i[data-lucide] svg {
    width: 14px !important;
    height: 14px !important;
}

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

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    transition: background 0.3s;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.12);
}

/* Keep some specific things hidden if necessary, but allow main scrolling */
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}

.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Editor UI Blending */
.editor-container {
    background: var(--bg-base);
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    height: 100%;
    position: relative;
    overflow: hidden;
}

/* Skeleton Loader */
.skeleton-line {
    background: linear-gradient(90deg, var(--bg-surface) 25%, var(--bg-elevated) 50%, var(--bg-surface) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

/* Doc Ready Message */
.ready-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    animation: readyFadeIn 0.3s ease-out;
}

.ready-icon {
    font-size: 2rem;
    animation: readyPulse 2s ease-in-out infinite;
}

.ready-loading .ready-icon {
    animation: readySpin 1s linear infinite;
}

.ready-error .ready-icon {
    animation: none;
}

.ready-fade {
    animation: readyFadeOut 0.5s ease-out forwards;
}

@keyframes readyFadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

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

@keyframes readyPulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.6;
    }
}

@keyframes readySpin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes readyFadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes cloudPulse {

    0%,
    100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

.sync-pulse {
    animation: cloudPulse 1.5s ease-in-out infinite;
}

:root {
    --success: #22c55e;
    --error: #ef4444;
}

.text-\[#c5b4a6\] {
    color: var(--text-secondary) !important;
}

.editor-header {
    padding: 8px 16px;
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid var(--border-subtle);
    background: var(--bg-surface);
    min-height: 44px;
    transition: min-height 0.2s ease;
    gap: 8px;
}

.editor-header.tt-active {
    min-height: 102px;
}

#editor-toolbar {
    display: flex;
    align-items: center;
}

#tt-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 12px;
    height: 12px;
    background: #c5b4a6;
    border-radius: 50%;
    cursor: pointer;
}

#tt-slider::-moz-range-thumb {
    width: 12px;
    height: 12px;
    background: #c5b4a6;
    border: none;
    border-radius: 50%;
    cursor: pointer;
}

#tt-controls button:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

#tt-controls {
    padding: 0 8px 6px 8px;
    margin-left: -8px;
}

#editor-toolbar button {
    color: #fff;
}

#editor-toolbar button:hover {
    color: #e8673a;
}

#editor-toolbar button:active,
#editor-toolbar button.active {
    color: #e8673a;
}

.add-media-btn {
    background: var(--bg-elevated);
    color: var(--text-secondary);
    padding: 0.4rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.8rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transition: all 0.2s;
    border: 1px solid var(--border-subtle);
}

.add-media-btn:hover {
    color: var(--text-primary);
    background: var(--bg-hover);
    border-color: var(--border-mid);
}

.editor-tabs {
    display: flex;
    gap: 1.5rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: #555;
    letter-spacing: 0.025em;
}

.editor-tab-active {
    color: white;
}

/* Line Indicator */
#line-indicator {
    position: absolute;
    left: 0;
    width: 2px;
    background: rgba(139, 92, 246, 0.5);
    /* Faded violet */
    transition: top 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.8s ease;
    pointer-events: none;
    box-shadow: 0 0 8px rgba(139, 92, 246, 0.2);
    opacity: 0;
}

/* Editor Font (Notion Style) */
#editor {
    counter-reset: line;
}

#editor>* {
    position: relative;
    display: block;
    width: 100%;
    white-space: pre-wrap;
    overflow-wrap: break-word;
}

#editor {
    padding-left: 1.5rem;
}

#editor>*::before {
    counter-increment: line;
    content: counter(line);
    position: absolute;
    left: -1.5rem;
    width: 1.5rem;
    text-align: right;
    color: #555;
    font-size: 13px;
    opacity: 0.4;
    user-select: none;
    font-family: monospace;
    padding-right: 0.5rem;
    box-sizing: border-box;
}

#editor,
h1[contenteditable] {
    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    color: var(--text-primary);
    line-height: 1.4;
}

/* Editor Placeholder */
#editor:empty:before {
    content: attr(data-placeholder);
    color: var(--text-dim);
    pointer-events: none;
}

/* Image styling */
#editor img {
    max-width: 100%;
    max-height: 400px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 0.75rem;
    margin: 1.5rem 0;
    display: block;
    border: 1px solid var(--border-mid);
}

/* Collapsible sections - Accordion Style */
.sidebar-section {
    display: flex;
    flex-direction: column;
    transition: flex 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    min-height: 44px;
}

.sidebar-section.expanded {
    flex: 1;
}

.collapse-content {
    overflow-y: auto;
    flex: 1;
    transition: opacity 0.3s;
    opacity: 0;
    pointer-events: none;
    position: relative;
}

.sidebar-section.expanded .collapse-content {
    opacity: 1;
    pointer-events: auto;
}

.sidebar-section-title .chevron {
    transition: transform 0.3s ease;
}

.sidebar-section-title.collapsed .chevron {
    transform: rotate(0deg);
}

.sidebar-section.expanded .sidebar-section-title .chevron {
    transform: rotate(180deg);
}

.sidebar-section:not(.expanded) .collapse-content {
    display: none;
}

/* Icon bar style */
.icon-bar {
    width: 52px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 6px;
    gap: 8px;
    border-right: 1px solid var(--border-subtle);
    background: var(--bg-base);
}

.icon-button {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-muted);
    font-size: 20px;
    border-radius: 6px;
    transition: all 0.2s;
    border: 1px solid transparent;
}

.icon-button:hover {
    color: var(--text-secondary);
    background-color: var(--bg-hover);
}

.icon-button.active {
    color: var(--text-primary);
    background-color: var(--bg-active);
    border-color: transparent;
    outline: none;
}

/* Logo style */
.logo-icon {
    font-size: 22px;
    font-weight: bold;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

/* List styling */
.sidebar-item {
    padding: 3px 12px;
    font-size: 14px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.15s;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 4px;
    overflow: hidden;
    height: 1.9rem;
    padding-left: 14px;
}

.sidebar-item span:not(.lucide):not(button) {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 23px;
}

.sidebar-item:hover {
    background-color: var(--bg-hover);
    color: var(--text-primary);
}

.sidebar-item.active {
    color: var(--text-primary);
    background-color: var(--bg-active);
}

/* ─── Document Tree Styles ─── */
.docs-container {
    min-height: 10px;
}

.doc-item {
    user-select: none;
    height: 30px;
}

.doc-item .item-name {
    font-size: 12px;
}

.doc-item .folder-name {
    font-weight: 500;
}

.doc-item:hover {
    background: var(--bg-hover);
}

.doc-item.dragging {
    opacity: 0.5;
}

.doc-item.drag-over {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}

.doc-item.drag-over-before {
    border-top: 2px solid var(--accent);
}

.doc-item.drag-over-after {
    border-bottom: 2px solid var(--accent);
}

.doc-item.active {
    position: absolute;
    background-color: #766c6a1c !important;
}

.doc-item.active .item-name {
    color: var(--accent);
    font-weight: 600;
}

.folder-children {
    margin-left: 0;
}

.rename-input {
    font-family: inherit;
    font-size: 12px;
}

.doc-item .icon-folder {
    color: var(--text-secondary);
}

.doc-item.dragging {
    opacity: 0.5;
}

.doc-item.drag-over {
    background: var(--bg-hover);
}

.doc-item.drag-over::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -1px;
    height: 2px;
    background: var(--accent);
    border-radius: 1px;
}

.doc-item.drag-over-before::before {
    content: '';
    position: absolute;
    left: 10px;
    right: 10px;
    top: -1px;
    height: 2px;
    background: var(--accent);
    border-radius: 1px;
}

.doc-item.drag-over-after::after {
    content: '';
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: -1px;
    height: 2px;
    background: var(--accent);
    border-radius: 1px;
}

.doc-item .icon-file {
    color: var(--text-secondary);
}

.page-item.active .page-title-label {
    color: var(--text-primary) !important;
}

.sidebar-section-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-dim);
    padding: 14px 12px 6px 12px;
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: color 0.2s;
}

.sidebar-section-title:hover {
    color: var(--text-muted);
}

.chevron {
    transition: transform 0.3s ease-in-out;
    font-size: 14px;
}

.sidebar-section-title:not(.collapsed) .chevron {
    transform: rotate(180deg);
}

.sidebar-section-title.collapsed .chevron {
    transform: rotate(0deg);
}

/* Doc folder chevrons */
.doc-folder .chevron-icon {
    transition: transform 0.3s ease-in-out;
}

.doc-folder.expanded .chevron-icon {
    transform: rotate(180deg);
}

.doc-folder:not(.expanded) .chevron-icon {
    transform: rotate(0deg);
}

/* --- Version Tracking (compact list) --- */
#history-list {
    position: relative;
    mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}

.vh-search {
    margin: 6px 10px;
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    padding: 5px 8px;
}

.vh-search input {
    background: transparent;
    border: none;
    outline: none;
    font-size: 11px;
    color: #9a9088;
    flex: 1;
    font-family: inherit;
}

.vh-search input::placeholder {
    color: #504840;
}

.vh-day-header {
    font-size: 10px;
    font-weight: 700;
    color: #444;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 10px 12px 4px;
}

.vh-entry {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 10px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    position: relative;
    transition: background 0.15s;
}

.review-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid #2e2e2e94;
    transition: background 0.15s;
    padding-bottom: 0px;
    padding-top: 1px;
    position: relative;
    overflow: hidden;
    max-width: 100%;
}

.review-item:last-child {
    border-bottom: none;
}

.review-item:hover {
    background: var(--bg-hover);
}

.vh-entry:hover {
    background: rgba(255, 255, 255, 0.02);
}

.vh-timeline {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 24px;
    flex-shrink: 0;
    min-height: 24px;
}

.vh-timeline::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 24px;
    width: 1px;
    height: calc(100% - 24px);
    background: linear-gradient(to bottom, var(--border-mid), var(--bg-base));
    transform: translateX(-50%);
    z-index: 0;
}

.vh-entry:last-child .vh-timeline::after {
    display: none;
}

.vh-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--bg-elevated);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    color: var(--text-secondary);
    flex-shrink: 0;
    z-index: 10;
    position: relative;
    border: 2px solid var(--bg-base);
    opacity: 1;
}

#history-list {
    position: relative;
}

.version-link-line {
    display: none;
}

.vh-body {
    flex: 1;
    max-width: 190px;
}

.vh-who {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 2px;
    min-width: 0;
}

.vh-username {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}

.vh-time {
    font-size: 10.5px;
    color: var(--text-dim);
    flex-shrink: 0;
}

.vh-line-ref {
    font-size: 11px;
    color: var(--text-muted);
    margin-bottom: 4px;
}

.vh-diff {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 4px;
}

.vh-diff-line {
    font-size: 12px;
    color: rgba(200, 134, 114, 0.98);
    padding: 4px 8px;
    background: rgba(183, 60, 22, 0.08);
    border-radius: 4px;
    transition: all 0.15s;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.vh-diff-line:hover {
    background: rgba(255, 255, 255, 0.03);
    border-left-color: var(--accent, #e8673a);
}

.vh-old-text {

    background: rgba(232, 103, 58, 0.03);
    color: #a18779;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 2px 6px;
    border-radius: 3px;
    font-family: 'SF Mono', 'Fira Code', monospace;
    font-size: 11.5px;
    line-height: 1.5;
}

.vh-new-text {
    background: rgba(85, 113, 96, 0.18);
    color: rgb(153, 173, 161);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 2px 6px;
    border-radius: 3px;
    font-family: 'SF Mono', 'Fira Code', monospace;
    font-size: 11.5px;
    line-height: 1.5;
}

.vh-diff-arrow {
    color: var(--text-muted, #5a5856);
    margin: 0 4px;
}

.vh-date {
    font-size: 10px;
    color: var(--text-dim, #4a4846);
    margin-top: 3px;
}

.vh-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.15s;
    align-self: flex-start;
    padding-top: 1px;
}

.vh-entry:hover .vh-actions {
    opacity: 1;
}

.vh-restore {
    font-size: 10px;
    font-weight: 600;
    color: var(--accent);
    transition: color 0.15s, background 0.15s;
    white-space: nowrap;
    cursor: pointer;
    background: none;
    border: none;
    padding: 2px 6px;
    border-radius: 4px;
}

.vh-restore:hover {
    color: var(--accent-hover);
    background: var(--accent-bg);
}

.vh-restore.disabled {
    color: var(--text-dim);
    cursor: not-allowed;
}

.vh-restore.disabled:hover {
    background: transparent;
}

.vh-restore[data-action="restore-snapshot"] {
    font-size: 10px;
    font-weight: 600;
    color: #f97316;
    transition: color 0.15s, background 0.15s;
    white-space: nowrap;
    cursor: pointer;
    background: none;
    border: none;
    padding: 2px 6px;
    border-radius: 4px;
}

.vh-restore[data-action="restore-snapshot"]:hover {
    color: #fb923c;
    background: rgba(249, 115, 22, 0.15);
}

.vh-see-changed-btn,
.snapshot-btn {
    display: block;
    height: 0;
    padding: 0 8px;
    margin: 0;
    opacity: 0;
    overflow: hidden;
    font-size: 10px;
    color: #888;
    background: transparent;
    border: none;
    border-radius: 4px;
    white-space: nowrap;
    cursor: pointer;
    transition: height 0.2s ease, padding 0.2s ease, margin 0.2s ease, opacity 0.2s ease, background 0.15s, color 0.15s;
    line-height: 0;
}

.vh-entry:hover .vh-see-changed-btn,
.vh-entry:hover .snapshot-btn {
    height: 24px;
    padding: 4px 8px;
    margin: 4px 0;
    opacity: 1;
    line-height: 1;
}

.snapshot-btn.restore {
    color: #b2b2b2;
    border: 1px solid rgba(249, 115, 22, 0.3);
    background: #353535 !important;
}

.snapshot-btn.restore {
    color: #d4d4d4;
    border: 1px solid rgba(249, 115, 22, 0.3);
    background: #616161 !important;
}

.snapshot-btn.duplicate {
    color: #666;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.snapshot-btn.duplicate:hover {
    color: #aaa;
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.2);
}

.snapshot-btn.delete {
    color: #666;
    border: 1px solid transparent;
}

.snapshot-btn.delete:hover {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.3);
}

.vh-entry.restored {
    background: var(--accent-bg);
    transition: background 0.3s;
}

/* Version Entry Animations */
.vh-entry {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease, background 0.2s ease;
}

.vh-entry-new {
    opacity: 0;
    transform: translateY(-12px);
}

.vh-entry-visible {
    opacity: 1;
    transform: translateY(0);
}

.vh-entry-superseded {
    opacity: 0.4;
}

.vh-entry-superseded .vh-entry-label,
.vh-entry-superseded .vh-diff-line {
    text-decoration: line-through;
    color: #555;
}

.vh-entry-removing {
    opacity: 0;
    transform: translateX(-20px);
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
    overflow: hidden;
}

.vh-username {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.version-link-line {
    display: none;
}

.vh-menu {
    color: #3a3a3a;
    transition: color 0.15s;
    display: flex;
    align-items: center;
}

.vh-menu:hover {
    color: #999;
}

/* dropdown for vh menu */
.vh-dropdown {
    position: absolute;
    right: 8px;
    top: 30px;
    background: #232323;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 6px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.55);
    z-index: 50;
    display: none;
    flex-direction: column;
    min-width: 145px;
    overflow: hidden;
}

.vh-dropdown.open {
    display: flex;
}

.vh-dropdown-item {
    padding: 8px 12px;
    font-size: 12px;
    color: #888;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background 0.1s;
}

.vh-dropdown-item:hover {
    background: rgba(255, 255, 255, 0.05);
    color: #ddd;
}

@keyframes popIn {
    0% {
        transform: translateY(10px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.vh-entry.new-entry {
    animation: popIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.new-version-btn {
    font-size: 10px;
    font-weight: 600;
    color: var(--accent);
    transition: color 0.15s;
    white-space: nowrap;
    margin-right: 8px;
    cursor: pointer;
}

.new-version-btn:hover {
    color: var(--accent-hover);
}


.main-tag {
    font-size: 8px;
    background: var(--accent-bg);
    color: var(--accent);
    padding: 0px 4px;
    border-radius: 3px;
    margin-left: 4px;
    display: none;
    transition: opacity 0.2s;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid rgba(90, 159, 212, 0.2);
    flex-shrink: 0;
    line-height: 1.2;
    max-width: 35px;
}

.sidebar-item:hover .main-tag {
    display: inline-block;
    opacity: 0.8;
}

.version-item {
    padding-left: 24px !important;
}

.branch-icon {
    font-size: 14px !important;
    color: #444;
    margin-right: -2px;
    flex-shrink: 0;
    margin-right: 7px;
}

.add-to-main-btn {
    font-size: 10px !important;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    color: #666;
    padding: 1px 6px;
    border-radius: 3px;
    margin-left: 4px;
    display: none;
    transition: all 0.2s;
    white-space: nowrap;
    font-weight: 700;
    flex-shrink: 0;
}

.sidebar-item:hover .add-to-main-btn {
    display: flex;
    opacity: 1;
}

.add-to-main-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #aaa;
    border-color: rgba(255, 255, 255, 0.15);
}


/* User item styling */
.user-item {
    padding: 8px 12px;
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 12px;
    border-bottom: 1px solid #262626;
    cursor: pointer;
    transition: background-color 0.15s;
}

.user-item:hover {
    background-color: #242424;
}

.user-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #3a3a3a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: #999;
    flex-shrink: 0;
    position: relative;
}

.user-status {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #666;
    position: absolute;
    bottom: 0;
    right: 0;
}

.user-status.online {
    background-color: #4ade80;
}

.user-name {
    color: #aaa;
    font-weight: 500;
}

.user-state {
    color: #666;
    font-size: 11px;
}

/* Tab bar styling - Optimized for long writing sessions */
.tab-bar {
    display: flex;
    align-items: center;
    height: 100%;
    gap: 0;
    border-bottom: 1px solid var(--border-subtle);
    background: var(--bg-surface);
    padding: 0 6px;
    overflow-x: hidden;
    overflow-y: hidden;
}

.tab-bar::-webkit-scrollbar {
    display: none;
}

.tab-item {
    max-width: 160px;
    min-width: 70px;
    flex-shrink: 0;
    padding: 0 12px;
    height: 100%;
    display: flex;
    align-items: center;
    font-size: 13px;
    font-weight: 400;
    color: var(--text-muted);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
    position: relative;
    white-space: nowrap;
    border-right: 1px solid var(--border-subtle);
    letter-spacing: 0.015em;
}

.tab-label {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#tab-scroll-container {
    display: flex;
    align-items: stretch;
    flex: 1;
    overflow-x: auto;
    overflow-y: hidden;
}

#tab-scroll-container::-webkit-scrollbar {
    display: none;
}

.tab-item:hover {
    color: var(--text-secondary);
    background-color: var(--bg-hover);
}

.tab-item.active {
    color: var(--text-primary);
    border-bottom-color: var(--accent);
    background-color: var(--bg-active);
    font-weight: 500;
}

.tab-close {
    margin-left: 6px;
    color: var(--text-muted);
    font-size: 15px;
    cursor: pointer;
    display: inline-flex;
    opacity: 0.6;
    transition: all 0.2s;
    border-radius: 3px;
    padding: 2px;
}

.tab-item:hover .tab-close {
    opacity: 1;
}

.tab-close:hover {
    color: var(--text-primary);
    background: var(--bg-hover);
}

.add-tab-btn {
    padding: 0 10px;
    height: 100%;
    display: flex;
    align-items: center;
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.2s;
    flex-shrink: 0;
    border-left: 1px solid var(--border-subtle);
    background: var(--bg-surface);
    z-index: 10;
    position: sticky;
    right: 0;
}

.tab-bar.crowded-tabs .add-tab-btn {
    box-shadow: -10px 0 20px rgba(27, 24, 24, 0.95);
}

.add-tab-btn:hover {
    color: #9a9088;
    background-color: rgba(255, 245, 235, 0.04);
}

.vh-diff-view-before,
.vh-diff-view-after {
    padding-left: 2.2rem !important;
    position: relative;
}

.vh-diff-view-before>*,
.vh-diff-view-after>* {
    position: relative;
}

.vh-diff-view-before>*::before,
.vh-diff-view-after>*::before {
    content: attr(data-line);
    position: absolute;
    left: -1.8rem;
    width: 1.5rem;
    text-align: right;
    color: #555;
    font-size: 11px;
    opacity: 0.5;
    user-select: none;
    font-family: monospace;
    padding-right: 0.4rem;
}

/* Editor footer status (word count, etc.) */
.editor-status-bar {
    height: 32px;
    background: var(--bg-elevated);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1.25rem;
    font-size: 12px;
    color: var(--text-secondary);
    border-top: 1px solid var(--border-subtle);
    flex-shrink: 0;
    gap: 1rem;
    width: 100%;
    box-sizing: border-box;
}

.editor-status-bar .status-sep {
    color: rgba(255, 255, 255, 0.12);
}

.status-left {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.status-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.sync-now-btn {
    background: var(--accent);
    color: #ffffff;
    border: 1px solid var(--accent);
    border-radius: 4px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.02em;
    transition: filter 0.2s ease, transform 0.2s ease;
    white-space: nowrap;
}

.sync-now-btn.subtle {
    background: rgba(34, 197, 94, 0.12);
    color: #86efac;
    border-color: rgba(34, 197, 94, 0.22);
    filter: saturate(0.75);
}

.vh-dialog-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 150;
}

.vh-dialog-overlay.open {
    display: flex;
}

.vh-dialog {
    width: min(820px, 92vw);
    max-height: 86vh;
    overflow: auto;
    background: #140c1c;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 18px;
    color: #d1d5db;
}

.vh-dialog pre {
    white-space: pre-wrap;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 10px;
    color: #ddd;
    margin-top: 8px;
}

.vh-diff-view-before {
    background: rgba(180, 60, 50, 0.12) !important;
    border-left: 3px solid rgba(200, 70, 60, 0.6) !important;
}

.vh-diff-view-after {
    background: rgba(50, 150, 80, 0.1) !important;
    border-left: 3px solid rgba(60, 160, 90, 0.6) !important;
}

.vh-btn-gray {
    color: #666 !important;
}

.vh-btn-gray:hover {
    color: #aaa !important;
}

.vh-comment-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 8px 0;
    font-size: 12px;
    color: #ccc;
}

.sync-now-btn:hover {
    filter: brightness(1.1);
}

.sync-now-btn:active {
    transform: translateY(1px);
}

/* Share Popup */
/* --- Version Tracking Timeline --- */
.version-list {
    position: relative;
    padding-left: 20px;
    margin-top: 12px;
}

.version-list::before {
    content: '';
    position: absolute;
    left: 23px;
    top: 5px;
    bottom: 5px;
    width: 1px;
    background: rgba(255, 255, 255, 0.05);
    z-index: 1;
}

.day-header {
    font-size: 10px;
    font-weight: 800;
    color: #444;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 16px 0 8px -8px;
    padding-left: 4px;
}

.version-item {
    padding: 1px 12px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: all 0.2s;
    position: relative;
    border-radius: 6px;
    display: flex;
    gap: 2px;
    display: flex;
}

.version-item:hover {
    background-color: rgba(255, 255, 255, 0.03);
}

.version-dot {
    position: absolute;
    left: -1px;
    top: 13px;
    width: 8px;
    height: 8px;
    background: #2c2c2c;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    z-index: 2;
}

.version-row-1 {
    font-size: 11px;
    color: #ccc;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

.version-time-label {
    font-size: 9px;
    color: #555;
    font-weight: 400;
}

.version-row-2 {
    font-size: 11px;
    color: #777;
    padding-left: 0;
    line-height: 1.3;
}

.version-row-3 {
    display: flex;
    gap: 12px;
    margin-top: 6px;
    opacity: 0;
    transition: opacity 0.2s;
}

.version-item:hover .version-row-3 {
    opacity: 1;
}

.version-icon-btn {
    color: #666;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.version-icon-btn:hover {
    color: #fff;
}

/* --- Redesigned Share Popup --- */
#share-overlay {
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

#share-popup {
    background: var(--bg-elevated);
    border: 1px solid var(--border-mid);
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
    width: 380px;
    max-width: 95vw;
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.share-header {
    padding: 20px 20px 16px;
    border-bottom: 1px solid var(--border-subtle);
}

.share-header-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
}

.share-perm-row {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.share-perm-btn {
    flex: 1;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid var(--border-mid);
    background: var(--bg-base);
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.share-perm-btn:hover {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.share-perm-btn.share-perm-active {
    border-color: var(--accent);
    background: var(--accent-bg);
    color: var(--accent);
}

.share-body {
    padding: 20px;
}

.share-input-row {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
}

.share-input {
    flex: 1;
    background: var(--bg-surface);
    border: 1px solid var(--border-mid);
    border-radius: 8px;
    padding: 10px 14px;
    color: var(--text-primary);
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

[data-theme='dark'] #share-link-display {
    background: rgba(0, 0, 0, 0.2);
    color: var(--text-primary);
}

.share-input:focus {
    border-color: rgba(139, 92, 246, 0.5);
}

.share-invite-btn {
    background: #2383e2;
    color: #fff;
    padding: 0 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    transition: opacity 0.2s;
}

.share-invite-btn:hover {
    opacity: 0.9;
}

.user-access-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.user-initials {
    width: 36px;
    height: 36px;
    background: var(--bg-hover);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: var(--text-secondary);
    border: 1px solid var(--border-subtle);
    flex-shrink: 0;
}

.access-label {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #999;
    cursor: pointer;
}

.general-access {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}

.access-icon-bg {
    width: 36px;
    height: 36px;
    background: var(--bg-hover);
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    flex-shrink: 0;
}

.share-footer {
    padding: 16px 20px;
    background: var(--bg-surface);
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--border-subtle);
}

.copy-link-outer {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1px solid var(--border-mid);
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.2s;
}

.copy-link-outer:hover {
    background: var(--bg-hover);
    color: var(--text-primary);
}

/* Real-time Editing Presence Bubble */
/* Real-time Presence Container */
#presence-container {
    position: absolute;
    left: calc(-2.5rem - 6px);
    top: 0;
    bottom: 0;
    width: 0;
    pointer-events: none;
    z-index: 40;
}

.remote-presence-bubble {
    position: absolute;
    left: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.remote-presence-bubble.active {
    opacity: 1;
    transform: translateX(0);
}

.eb-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #4a9a5e;
    /* Default color */
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    position: relative;
}

/* Playful pulse ring */
.eb-avatar::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid #4a9a5e;
    opacity: 0;
    animation: pulseRing 1.5s infinite cubic-bezier(0.215, 0.610, 0.355, 1);
}

.eb-text {
    display: none;
}

@keyframes pulseRing {
    0% {
        transform: scale(0.8);
        opacity: 0.8;
    }

    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

/* Focus Mode - Collapsible UI (Smooth Overhaul) */
#sidebar,
.icon-bar,
header,
.editor-status-bar {
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Default (Focus OFF) - Staggered Slide In */
header {
    transition-delay: 0ms;
}

.icon-bar {
    transition-delay: 100ms;
}

#sidebar {
    transition-delay: 200ms;
    z-index: 1;
}

.focus-mode-active .editor-header {
    background: transparent;
}

.focus-mode-active #sidebar {
    width: 0 !important;
    opacity: 0 !important;
    border-right-color: transparent !important;
    pointer-events: none;
    transition-delay: 0ms;
}

.focus-mode-active .icon-bar {
    width: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    border-right-color: transparent !important;
    pointer-events: none;
    transition-delay: 100ms;
}

.focus-mode-active header {
    transform: translateY(-110%);
    opacity: 0;
    pointer-events: none;
    transition-delay: 200ms;
}

.focus-mode-active .editor-status-bar {
    opacity: 0;
    pointer-events: none;
}

/* Content Scaling for Immersion */
#editor-content-wrapper {
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.focus-mode-active #editor-content-wrapper {
    transform: scale(1.015);
}

/* Toggle UI Sync */
.focus-mode-active #focus-toggle .toggle-dot {
    transform: translateX(16px) !important;
    background-color: #8b5cf6 !important;
}

.focus-mode-active #focus-toggle span {
    color: #8b5cf6 !important;
}

/* Presence Toggle */
.presence-hidden .remote-cursor-bubble {
    display: none !important;
}

.presence-off #presence-toggle .toggle-dot {
    transform: translateX(16px) !important;
    background-color: #4b5563 !important;
}

.presence-off #presence-toggle span {
    color: #4b5563 !important;
}

/* Time Travel Slider */
#timeline-container {
    width: min(780px, 92vw);
    pointer-events: none;
    opacity: 0;
    transform: translateY(10px) translateX(-50%);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

#timeline-container.active {
    opacity: 1;
    transform: translateY(0) translateX(-50%);
    pointer-events: auto;
}

input[type=range].timeline-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    background: rgba(255, 255, 255, 0.1);
    height: 4px;
    border-radius: 2px;
    outline: none;
}

input[type=range].timeline-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #a855f7;
    cursor: pointer;
    transition: transform 0.1s;
}

input[type=range].timeline-slider::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

.timeline-markers {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
    font-size: 10px;
    color: #7f7f7f;
}

.timeline-marker.active {
    color: #d5b6ff;
}

#editor.is-morphing {
    transition: opacity 0.2s;
}


/* ─── Loomin Editor Styles (TipTap) ───────────────────────────────────── */
.loomin-editor {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    background: var(--bg-base, #1d1a1a);
    position: relative;

}

.loomin-editor-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-primary);
    outline: none;
    min-height: 2.5rem;
    margin-bottom: 1rem;
    padding: 0 2rem;
    flex-shrink: 0;
    border-style: none !important;
    outline: none !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    text-align: center;
    white-space: normal;
    opacity: 50%;
}

.loomin-editor-title:empty::before {
    content: attr(data-placeholder);
    color: var(--text-dim, #4a4540);
}

.loomin-editor-container {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 2rem 100px;
    display: grid;
    grid-template-columns: 24px 40px 1fr;
    gap: 0;
    position: relative;
    scroll-behavior: smooth;
    min-height: 0;
}

.loomin-editor-presence {
    position: relative;
    width: 6px;
    min-height: 100%;
    pointer-events: none;
    z-index: 40;
    overflow: visible !important;
}

.loomin-cursor-bubble {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0.15s ease;
}

.loomin-cursor-bubble.active {
    opacity: 1;
    transform: translateX(0);
}

.loomin-avatar {
    width: 24px;
    height: 24px;
    min-width: 24px;
    border-radius: 50%;
    background: #322921;
    color: #b29f8f9c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    position: relative;
    z-index: 100;
}



.loomin-line-numbers {
    position: relative;
    width: 40px;
    min-height: 100%;
    user-select: none;
}

.loomin-simple-editor {
    outline: none;
    min-height: 100%;
    overflow-anchor: none;
}

.loomin-editor-container {
    overflow-anchor: none;
}

.loomin-simple-editor p {
    margin: 0;
}

.loomin-editor-container {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 2rem 100px;
    display: grid;
    grid-template-columns: 24px 40px 1fr;
    gap: 0;
    position: relative;
    scroll-behavior: smooth;
    min-height: 0;
    overflow-anchor: none;
}

.loomin-line-numbers {
    position: relative;
    width: 40px;
    min-height: 100%;
    user-select: none;
    overflow-anchor: none;
}

.loomin-editor-container {
    overflow-anchor: none;
}

.loomin-simple-editor p {
    margin: 0;
}

.remote-cursor-bubble {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0;
    transform: translateX(-5px);
    transition:
        opacity 0.1s ease,
        transform 0.1s ease,
        top 0.08s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        left 0.08s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: auto;
    z-index: 50;
    will-change: top, left;
}

.remote-cursor-bubble .remote-typing {
    flex-shrink: 0;
}

.remote-cursor-bubble.visible {
    opacity: 1;
    transform: translateX(0);
}

.remote-cursor-bubble.transitioning {
    transition:
        opacity 0.1s ease,
        transform 0.1s ease,
        top 0.08s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        left 0.08s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.remote-avatar {
    width: 24px;
    height: 24px;
    min-width: 24px;
    border-radius: 50%;
    background: var(--accent-bg);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    transition: transform 0.1s ease;
}

.remote-cursor-bubble:hover .remote-avatar {
    transform: scale(1.05);
}

.remote-username {
    font-size: 11px;
    background: var(--bg-elevated);
    color: var(--text-secondary);
    padding: 3px 8px;
    border-radius: 6px;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transform: translateX(-5px);
    transition: opacity 0.12s ease, transform 0.12s ease;
    pointer-events: none;
}

.remote-cursor-bubble:hover .remote-username {
    opacity: 1;
    transform: translateX(0);
}

@keyframes typingPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }
}

.remote-cursor-bubble.visible .remote-avatar {
    animation: typingPulse 1.2s ease-in-out infinite;
}

.loomin-line-number {
    font-family: 'Roboto Mono', monospace;
    font-size: 13px;
    color: var(--text-dim, #4a4540);
    text-align: right;
    padding-right: 8px;
    opacity: 0.4;
    position: absolute;
    right: 0;
    width: 32px;
}

#loomin-tiptap {
    min-height: 100px;
    max-width: 720px;
    overflow-x: hidden;
    flex: 1;
}

#loomin-tiptap .ProseMirror {
    min-height: 100px;
    max-width: 100%;
}

.loomin-line-number.locked {
    color: #ff6b6b;
    opacity: 0.8;
}

.remote-cursor {
    position: absolute;
    left: 60px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.remote-cursor.visible {
    opacity: 1;
}

.remote-cursor-line {
    width: 2px;
    height: 20px;
    background: #ff6b6b;
    animation: remote-cursor-blink 1s ease-in-out infinite;
}

.remote-cursor-label {
    position: absolute;
    top: -18px;
    left: 0;
    background: #ff6b6b;
    color: white;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    white-space: nowrap;
}

@keyframes remote-cursor-blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.loomin-prose-mirror {
    outline: none;
    min-height: 300px;
    max-width: 720px;
    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 20px;
    line-height: 1.3;
    color: var(--text-secondary, #8a8078);
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
}

/* Custom spellcheck squiggly styling */
.loomin-prose-mirror .spell-error {
    text-decoration-line: underline;
    text-decoration-style: wavy;
    text-decoration-color: rgba(167, 110, 59, 0.7);
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
    background: transparent;
    cursor: pointer;
}

.loomin-prose-mirror .spell-error:hover {
    background: rgba(167, 110, 59, 0.1);
}

.loomin-prose-mirror p {
    margin: 0 0 0.15em 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
}

.loomin-prose-mirror p.is-editor-empty:first-child::before {
    content: attr(data-placeholder);
    color: var(--text-dim, #4a4540);
    float: left;
    height: 0;
    pointer-events: none;
}

.loomin-prose-mirror h1,
.loomin-prose-mirror h2,
.loomin-prose-mirror h3 {
    color: var(--text-primary, #d4cec7);
    font-weight: 700;
    margin: 1em 0 0.5em;
}

.loomin-prose-mirror strong {
    font-weight: 700;
}

.loomin-prose-mirror em {
    font-style: italic;
}

.loomin-prose-mirror u {
    text-decoration: underline;
}

.loomin-prose-mirror mark {
    background-color: #ffeb3b40;
    color: inherit;
}

.loomin-prose-mirror a {
    color: var(--accent, #7c5cb8);
    text-decoration: underline;
}

.loomin-prose-mirror ul,
.loomin-prose-mirror ol {
    padding-left: 1.5em;
    margin: 0.5em 0;
}

.loomin-prose-mirror blockquote {
    border-left: 3px solid var(--border-mid, rgba(255, 255, 255, 0.1));
    padding-left: 1em;
    margin-left: 0;
    color: var(--text-muted, #5a5550);
}

.loomin-prose-mirror code {
    background: var(--bg-elevated, #252220);
    padding: 0.1em 0.3em;
    border-radius: 3px;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.9em;
}

.loomin-prose-mirror pre {
    background: var(--bg-elevated, #252220);
    padding: 1em;
    border-radius: 6px;
    margin: 1em 0;
    overflow-x: auto;
}

.loomin-prose-mirror pre code {
    background: none;
    padding: 0;
    font-size: 0.85em;
}

.ProseMirror-focused {
    outline: none;
}

.ProseMirror {
    outline: none !important;
    border: none !important;
}

.ProseMirror>*:focus {
    outline: none;
}

.ProseMirror-selectednode {
    outline: none !important;
}

.ProseMirror img {
    max-width: 100%;
    max-height: 400px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 0.75rem;
    margin: 1.5rem 0;
    display: block;
    border: 1px solid var(--border-mid);
}

.doc-group .group-header:hover {
    background: var(--bg-hover);
}

.doc-group .docs-container {
    display: flex;
    flex-direction: column;
}

/* ─── Color Tabs for Groups ───────────────────────────────────────────────── */
.group-color-tabs {
    display: flex;
    gap: 6px;
    padding: 4px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    margin-top: 8px;
}

.color-tab {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: transform 0.15s, border-color 0.15s;
}

.color-tab:hover {
    transform: scale(1.1);
}

.color-tab.selected {
    border-color: white;
}


*,
::before,
::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */
*,
::after,
::before {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb
}

::after,
::before {
    --tw-content: ''
}

:host,
html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit
}

a {
    color: inherit;
    text-decoration: inherit
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
pre,
samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button,
select {
    text-transform: none
}

button,
input:where([type=button]),
input:where([type=reset]),
input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
    margin: 0
}

fieldset {
    margin: 0;
    padding: 0
}

legend {
    padding: 0
}

menu,
ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: #9ca3af
}

[role=button],
button {
    cursor: pointer
}

:disabled {
    cursor: default
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
    display: block;
    vertical-align: middle
}

img,
video {
    max-width: 100%;
    height: auto
}

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

[type='text'],
input:where(:not([type])),
[type='email'],
[type='url'],
[type='password'],
[type='number'],
[type='date'],
[type='datetime-local'],
[type='month'],
[type='search'],
[type='tel'],
[type='time'],
[type='week'],
[multiple],
textarea,
select {
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    border-color: #6b7280;
    border-width: 1px;
    border-radius: 0px;
    padding-top: 0.5rem;
    padding-right: 0.75rem;
    padding-bottom: 0.5rem;
    padding-left: 0.75rem;
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-shadow: 0 0 #0000;
}

[type='text']:focus,
input:where(:not([type])):focus,
[type='email']:focus,
[type='url']:focus,
[type='password']:focus,
[type='number']:focus,
[type='date']:focus,
[type='datetime-local']:focus,
[type='month']:focus,
[type='search']:focus,
[type='tel']:focus,
[type='time']:focus,
[type='week']:focus,
[multiple]:focus,
textarea:focus,
select:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty,
            /*!*/
            /*!*/
        );
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #2563eb;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    border-color: #2563eb
}

input::placeholder,
textarea::placeholder {
    color: #6b7280;
    opacity: 1
}

::-webkit-datetime-edit-fields-wrapper {
    padding: 0
}

::-webkit-date-and-time-value {
    min-height: 1.5em;
    text-align: inherit
}

::-webkit-datetime-edit {
    display: inline-flex
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
    padding-top: 0;
    padding-bottom: 0
}

select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
    print-color-adjust: exact
}

[multiple],
[size]:where(select:not([size="1"])) {
    background-image: initial;
    background-position: initial;
    background-repeat: unset;
    background-size: initial;
    padding-right: 0.75rem;
    print-color-adjust: unset
}

[type='checkbox'],
[type='radio'] {
    -webkit-appearance: none;
    appearance: none;
    padding: 0;
    print-color-adjust: exact;
    display: inline-block;
    vertical-align: middle;
    background-origin: border-box;
    -webkit-user-select: none;
    user-select: none;
    flex-shrink: 0;
    height: 1rem;
    width: 1rem;
    color: #2563eb;
    background-color: #fff;
    border-color: #6b7280;
    border-width: 1px;
    --tw-shadow: 0 0 #0000
}

[type='checkbox'] {
    border-radius: 0px
}

[type='radio'] {
    border-radius: 100%
}

[type='checkbox']:focus,
[type='radio']:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty,
            /*!*/
            /*!*/
        );
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #2563eb;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
}

[type='checkbox']:checked,
[type='radio']:checked {
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat
}

[type='checkbox']:checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}

@media (forced-colors: active) {
    [type='checkbox']:checked {
        -webkit-appearance: auto;
        appearance: auto
    }
}

[type='radio']:checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}

@media (forced-colors: active) {
    [type='radio']:checked {
        -webkit-appearance: auto;
        appearance: auto
    }
}

[type='checkbox']:checked:hover,
[type='checkbox']:checked:focus,
[type='radio']:checked:hover,
[type='radio']:checked:focus {
    border-color: transparent;
    background-color: currentColor
}

[type='checkbox']:indeterminate {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
}

@media (forced-colors: active) {
    [type='checkbox']:indeterminate {
        -webkit-appearance: auto;
        appearance: auto
    }
}

[type='checkbox']:indeterminate:hover,
[type='checkbox']:indeterminate:focus {
    border-color: transparent;
    background-color: currentColor
}

[type='file'] {
    background: unset;
    border-color: inherit;
    border-width: 0;
    border-radius: 0;
    padding: 0;
    font-size: unset;
    line-height: inherit
}

[type='file']:focus {
    outline: 1px solid ButtonText;
    outline: 1px auto -webkit-focus-ring-color
}

.pointer-events-none {
    pointer-events: none
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.sticky {
    position: sticky
}

.inset-0 {
    inset: 0px
}

.bottom-\[42px\] {
    bottom: 42px
}

.bottom-\[90px\] {
    bottom: 90px
}

.left-0\.5 {
    left: 0.125rem
}

.left-1\/2 {
    left: 50%
}

.top-0 {
    top: 0px
}

.z-40 {
    z-index: 40
}

.z-50 {
    z-index: 50
}

.z-\[100\] {
    z-index: 100
}

.z-\[200\] {
    z-index: 200
}

.mx-1 {
    margin-left: 0.25rem;
    margin-right: 0.25rem
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.my-6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem
}

.\!mb-2 {
    margin-bottom: 0.5rem !important
}

.mb-2 {
    margin-bottom: 0.5rem
}

.mb-3 {
    margin-bottom: 0.75rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-6 {
    margin-bottom: 1.5rem
}

.mb-8 {
    margin-bottom: 2rem
}

.mr-1 {
    margin-right: 0.25rem
}

.mt-1 {
    margin-top: 0.25rem
}

.mt-2 {
    margin-top: 0.5rem
}

.mt-3 {
    margin-top: 0.75rem
}

.mt-6 {
    margin-top: 1.5rem
}

.mt-8 {
    margin-top: 2rem
}

.mt-auto {
    margin-top: auto
}

.ml-auto {
    margin-left: auto
}

.flex {
    display: flex
}

.hidden {
    display: none
}

.h-10 {
    height: 2.5rem
}

.h-12 {
    height: 3rem
}

.h-3 {
    height: 0.75rem
}

.h-4 {
    height: 1rem
}

.h-5 {
    height: 1.25rem
}

.h-6 {
    height: 1.5rem
}

.h-8 {
    height: 2rem
}

.h-full {
    height: 100%
}

.h-screen {
    height: 100vh
}

.min-h-\[500px\] {
    min-height: 500px
}

.w-3 {
    width: 0.75rem
}

.w-4 {
    width: 1rem
}

.w-6 {
    width: 1.5rem
}

.w-72 {
    width: 18rem
}

.w-8 {
    width: 2rem
}

.w-\[460px\] {
    width: 460px
}

.w-\[52px\] {
    width: 52px
}

.w-auto {
    width: auto
}

.w-full {
    width: 100%
}

.w-px {
    width: 1px
}

.min-w-\[130px\] {
    min-width: 130px
}

.min-w-\[150px\] {
    min-width: 150px
}

.max-w-4xl {
    max-width: 56rem
}

.max-w-\[95vw\] {
    max-width: 95vw
}

.max-w-none {
    max-width: none
}

.flex-1 {
    flex: 1 1 0%
}

.shrink-0 {
    flex-shrink: 0
}

.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.cursor-pointer {
    cursor: pointer
}

.flex-col {
    flex-direction: column
}

.items-center {
    align-items: center
}

.items-stretch {
    align-items: stretch
}

.justify-end {
    justify-content: flex-end
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.gap-0\.5 {
    gap: 0.125rem
}

.gap-1 {
    gap: 0.25rem
}

.gap-2 {
    gap: 0.5rem
}

.gap-3 {
    gap: 0.75rem
}

.gap-0 {
    gap: 0px
}

.space-y-3> :not([hidden])~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse))
}

.overflow-hidden {
    overflow: hidden
}

.overflow-y-auto {
    overflow-y: auto
}

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.rounded {
    border-radius: 0.125rem
}

.rounded-2xl {
    border-radius: 1rem
}

.rounded-full {
    border-radius: 0.75rem
}

.rounded-lg {
    border-radius: 0.25rem
}

.rounded-md {
    border-radius: 0.375rem
}

.rounded-xl {
    border-radius: 0.5rem
}

.border {
    border-width: 1px
}

.border-b {
    border-bottom-width: 1px
}

.border-r {
    border-right-width: 1px
}

.border-t {
    border-top-width: 1px
}

.\!border-white\/5 {
    border-color: rgb(255 255 255 / 0.05) !important
}

.border-purple-400\/30 {
    border-color: rgb(192 132 252 / 0.3)
}

.border-white\/10 {
    border-color: rgb(255 255 255 / 0.1)
}

.border-white\/15 {
    border-color: rgb(255 255 255 / 0.15)
}

.border-white\/5 {
    border-color: rgb(255 255 255 / 0.05)
}

.\!bg-black\/20 {
    background-color: rgb(0 0 0 / 0.2) !important
}

.\!bg-white\/10 {
    background-color: rgb(255 255 255 / 0.1) !important
}

.bg-\[\#111\] {
    --tw-bg-opacity: 1;
    background-color: rgb(17 17 17 / var(--tw-bg-opacity, 1))
}

.bg-\[\#1E1C20\] {
    --tw-bg-opacity: 1;
    background-color: rgb(30 28 32 / var(--tw-bg-opacity, 1))
}

.bg-\[\#1a1a1a\]\/50 {
    background-color: rgb(26 26 26 / 0.5)
}

.bg-\[\#1a1a1a\]\/90 {
    background-color: rgb(26 26 26 / 0.9)
}

.bg-\[\#1d1a1a\] {
    --tw-bg-opacity: 1;
    background-color: rgb(28 28 28 / var(--tw-bg-opacity, 1))
}

.bg-\[\#202020\] {
    --tw-bg-opacity: 1;
    background-color: rgb(32 32 32 / var(--tw-bg-opacity, 1))
}

.bg-\[\#262626\] {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1))
}

.bg-black\/20 {
    background-color: rgb(0 0 0 / 0.2)
}

.bg-black\/60 {
    background-color: rgb(0 0 0 / 0.6)
}

.bg-blue-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1))
}

.bg-gray-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1))
}

.bg-white\/10 {
    background-color: rgb(255 255 255 / 0.1)
}

.bg-white\/5 {
    background-color: rgb(255 255 255 / 0.05)
}

.object-contain {
    object-fit: contain
}

.p-1 {
    padding: 0.25rem
}

.p-12 {
    padding: 3rem
}

.p-4 {
    padding: 1rem
}

.px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem
}

.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem
}

.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem
}

.py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem
}

.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
}

.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem
}

.pb-\[50vh\] {
    padding-bottom: 50vh
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
}

.text-\[11px\] {
    font-size: 11px
}

.text-\[12px\] {
    font-size: 12px
}

.text-\[13px\] {
    font-size: 13px
}

.text-\[14px\] {
    font-size: 14px
}

.text-\[16px\] {
    font-size: 16px
}

.text-\[18px\] {
    font-size: 18px
}

.text-\[20px\] {
    font-size: 20px
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}

.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem
}

.text-xs {
    font-size: 0.75rem;
    line-height: 1rem
}

.font-bold {
    font-weight: 700
}

.font-medium {
    font-weight: 500
}

.font-semibold {
    font-weight: 600
}

.uppercase {
    text-transform: uppercase
}

.tracking-tight {
    letter-spacing: -0.025em
}

.tracking-wider {
    letter-spacing: 0.05em
}

.tracking-widest {
    letter-spacing: 0.1em
}

.\!text-gray-300 {
    --tw-text-opacity: 1 !important;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1)) !important
}

.text-\[\#9a9088\] {
    --tw-text-opacity: 1;
    color: rgb(154 144 136 / var(--tw-text-opacity, 1))
}

.text-gray-200 {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / var(--tw-text-opacity, 1))
}

.text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.text-\[\#c5b4a6\] {
    --tw-text-opacity: 1;
    color: rgb(197 180 166 / var(--tw-text-opacity, 1));
}

.text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.text-gray-600 {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1))
}

.text-orange-300 {
    --tw-text-opacity: 1;
    color: rgb(216 180 254 / var(--tw-text-opacity, 1))
}

.text-orange-400 {
    --tw-text-opacity: 1;
    color: rgb(192 132 252 / var(--tw-text-opacity, 1))
}

.text-red-500 {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity, 1))
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.text-white\/10 {
    color: rgb(255 255 255 / 0.1)
}

.text-white\/30 {
    color: rgb(255 255 255 / 0.3)
}

.opacity-0 {
    opacity: 0
}

.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-purple-900\/20 {
    --tw-shadow-color: rgb(88 28 135 / 0.2);
    --tw-shadow: var(--tw-shadow-colored)
}

.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.backdrop-blur-md {
    --tw-backdrop-blur: blur(7px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.backdrop-blur-sm {
    --tw-backdrop-blur: blur(4px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.backdrop-blur-xl {
    --tw-backdrop-blur: blur(24px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}

.transition-colors {
    transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}

.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}

.duration-300 {
    transition-duration: 300ms
}

.selection\:bg-white\/10 *::selection {
    background-color: rgb(255 255 255 / 0.1)
}

.selection\:text-white *::selection {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.selection\:bg-white\/10::selection {
    background-color: rgb(255 255 255 / 0.1)
}

.selection\:text-white::selection {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.hover\:border-white\/20:hover {
    border-color: rgb(255 255 255 / 0.2)
}

.hover\:\!bg-white\/20:hover {
    background-color: rgb(255 255 255 / 0.2) !important
}

.hover\:bg-\[\#333\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(51 51 51 / var(--tw-bg-opacity, 1))
}

.hover\:bg-blue-500\/10:hover {
    background-color: rgb(59 130 246 / 0.1)
}

.hover\:bg-blue-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1))
}

.hover\:bg-white\/10:hover {
    background-color: rgb(255 255 255 / 0.1)
}

.hover\:bg-white\/5:hover {
    background-color: rgb(255 255 255 / 0.05)
}

.hover\:text-gray-200:hover {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / var(--tw-text-opacity, 1))
}

.hover\:text-gray-300:hover {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.hover\:text-orange-300:hover {
    --tw-text-opacity: 1;
    color: rgb(216 180 254 / var(--tw-text-opacity, 1))
}

.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.focus\:border-purple-500\/50:focus {
    border-color: rgb(168 85 247 / 0.5)
}

.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.group:hover .group-hover\:flex {
    display: flex
}

.group:hover .group-hover\:text-\[\#c5b4a6\] {
    --tw-text-opacity: 1;
    color: rgb(197 180 166 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:opacity-100 {
    opacity: 1
}

@media (min-width: 768px) {
    .md\:relative {
        position: relative
    }

    .md\:px-24 {
        padding-left: 6rem;
        padding-right: 6rem
    }
}


#review-issue-count {
    margin-right: auto !important;
    margin-left: 4px !important;
}



/* Media Upload Progress Styles */
.media-image-wrapper {
    position: relative;
    display: inline-block;
    margin: 8px 0;
}

.media-upload-progress {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px;
}

.media-upload-rectangle {
    width: 200px;
    height: 120px;
    border: 2px solid var(--border-subtle, #383838);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--bg-surface, #222222);
}

.media-upload-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid var(--border-mid, #454545);
    border-top-color: var(--accent, #e8673a);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.media-upload-progress-bar-container {
    width: 120px;
    height: 6px;
    background: var(--border-mid, #454545);
    border-radius: 3px;
    overflow: hidden;
}

.media-upload-progress-bar {
    height: 100%;
    width: 0%;
    background: var(--accent, #e8673a);
    transition: width 0.2s ease;
    border-radius: 3px;
}

.media-upload-percent {
    font-size: 12px;
    color: var(--text-secondary, #b8b4ae);
    font-weight: 500;
}

.media-upload-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px;
    text-align: center;
}

.media-upload-error-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.media-upload-error-text {
    font-size: 12px;
    color: #f87171;
    max-width: 180px;
}

.media-upload-filename {
    font-size: 12px;
    color: var(--text-secondary, #b8b4ae);
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.media-image-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
}

.media-image-delete {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 24px;
    height: 24px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.6);
    border: none;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s;
}

.media-image-wrapper:hover .media-image-delete {
    opacity: 1;
}

.media-image-delete:hover {
    background: rgba(220, 38, 38, 0.8);
}

#header-doc-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}