/* Core Theme Variables */
/* Core Theme Variables */
:root {
    --bg-darker: #09090b;       
    --bg-panel: #141417;        
    --border-color: #2a2a35;    
    --accent-purple: #9b59b6;   
    --accent-hover: #8e44ad;    
    --text-main: #ffffff;       
    --text-muted: #ffffff;      /* CHANGED: This makes all secondary/grey text pure white */
}

body {
    background-color: var(--bg-darker) !important;
    color: var(--text-main);
    font-family: 'Segoe UI', system-ui, sans-serif;
    overflow: hidden; /* Prevents scrollbars on the main window */
}

/* 🛡️ The Fix: Bulletproof Graph Container */
#lore-graph {
    flex-grow: 1;
    height: 100vh; /* Guarantees it never collapses to 0 height again */
    outline: none;
    background-color: var(--bg-darker);
}

/* Navbar & Panels */
/* Navbar & Panels */
.obelisk-navbar, .obelisk-panel {
    background-color: var(--bg-panel) !important;
    color: var(--text-main) !important; /* THIS FIXES THE DARK GREY TEXT */
}
.obelisk-border { border-color: var(--border-color) !important; }
.obelisk-brand, .obelisk-accent { color: var(--accent-purple) !important; }

/* Custom Menu Button */
.custom-toggler { border-color: var(--border-color); }
.custom-toggler .navbar-toggler-icon { filter: invert(1); }

/* Custom Purple Buttons */
.btn-purple { background-color: var(--accent-purple); color: #fff; border: none; }
.btn-purple:hover { background-color: var(--accent-hover); color: #fff; }
.btn-purple-outline { background-color: transparent; color: var(--accent-purple); border: 2px solid var(--accent-purple); }
.btn-purple-outline:hover { background-color: var(--accent-purple); color: #fff; }

/* Inputs & Selects */
.custom-input {
    background-color: #1a1a1f !important;
    color: var(--text-main) !important;
    border: 1px solid var(--border-color) !important;
}
.custom-input:focus {
    border-color: var(--accent-purple) !important;
    box-shadow: 0 0 0 0.25rem rgba(155, 89, 182, 0.25) !important;
}

/* Left Sidebar: Node List */
#node-list li {
    padding: 10px 12px;
    border-bottom: 1px solid var(--border-color);
    cursor: pointer;
    transition: background-color 0.2s;
    border-radius: 4px;
    color: var(--text-main);
}
#node-list li:hover { background-color: #1a1a1f; }
.list-type-tag { font-size: 0.7em; color: var(--accent-purple); float: right; text-transform: uppercase; font-weight: bold;}

/* Right Sidebar: Read Mode Links */
#read-connections-list li {
    padding: 10px;
    background-color: #1a1a1f;
    border: 1px solid var(--border-color);
    margin-bottom: 8px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.9em;
    color: #cda8e6; /* Soft purple text */
}
#read-connections-list li:hover {
    background-color: var(--accent-purple);
    color: #fff;
    border-color: var(--accent-purple);
}

/* Edit Mode Utilities */
.custom-badge { background-color: #2a2a35; color: var(--accent-purple); border: 1px solid var(--accent-purple); }
.connection-edit-row { display: flex; align-items: center; gap: 5px; margin-bottom: 10px; }
.connection-target-name { font-size: 0.8em; color: var(--text-muted); min-width: 80px; }

/* Mini Action Buttons */
.edge-action-btn { padding: 5px 10px; font-size: 0.85em; border-radius: 4px; border: none; color: white; font-weight: bold; transition: all 0.2s; }
.flip-btn { background-color: #4a4a5a; } 
.flip-btn:hover { background-color: #6a6a7a; }
.del-edge-btn { background-color: #dc3545; } 
.del-edge-btn:hover { background-color: #b02a37; }
.remove-stage-btn { background: none; border: none; color: #dc3545; font-weight: bold; margin-left: 10px; cursor: pointer; }

/* Sleek Scrollbars */
.custom-scrollbar::-webkit-scrollbar { width: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #3a3a45; border-radius: 10px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: var(--accent-purple); }