/*
 * Terminal/CRT Theme for Judeau
 * Inspired by cyberspace.online amber monochrome aesthetic
 * 
 * This theme is QUARANTINED - only activates when body has .terminal-theme class
 * Does not modify any styles in styles.css
 */

/* ========================================
   CSS VARIABLES - Terminal Color Palette
   ======================================== */
body.terminal-theme {
    --term-bg: #0a0a0a;
    --term-bg-secondary: #0f0f0f;
    --term-text: #ffb742;
    --term-text-bright: #ffc861;
    --term-text-dim: rgba(255, 183, 66, 0.6);
    --term-border: #ff8c00;
    --term-border-dim: rgba(255, 140, 0, 0.4);
    --term-accent: #ff8c00;
    --term-accent-glow: rgba(255, 140, 0, 0.3);
    --term-input-bg: #0a0a0a;
    --term-card-bg: rgba(255, 140, 0, 0.03);

    /* Override existing variables */
    --bg-dark: #0a0a0a;
    --accent-primary: #ff8c00;
    --accent-secondary: #ffb742;
    --accent-glow: rgba(255, 140, 0, 0.3);
    --glass-bg: rgba(255, 140, 0, 0.03);
    --glass-border: rgba(255, 140, 0, 0.3);
    --text-primary: #ffb742;
    --text-secondary: rgba(255, 183, 66, 0.7);
}

/* ========================================
   BASE STYLES
   ======================================== */
body.terminal-theme {
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    background: #0a0a0a;
    color: var(--term-text);
}

/* Subtle CRT scanline effect */
body.terminal-theme::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: repeating-linear-gradient(0deg,
            rgba(0, 0, 0, 0.1) 0px,
            rgba(0, 0, 0, 0.1) 1px,
            transparent 1px,
            transparent 2px);
    z-index: 9999;
    opacity: 0.3;
}

/* ========================================
   CONTAINER
   ======================================== */
body.terminal-theme .container {
    background: var(--term-bg);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    backdrop-filter: none;
    box-shadow: 0 0 20px var(--term-accent-glow);
}

/* ========================================
   LEFT PANEL - AGENT
   ======================================== */
body.terminal-theme .left-panel {
    border-right: none;
}

/* Hide header (title and avatar) in terminal mode - just show chat */
body.terminal-theme .agent-header {
    display: none;
}

body.terminal-theme .agent-header h1 {
    font-family: 'Consolas', 'Monaco', monospace;
    font-weight: 400;
    letter-spacing: 2px;
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    color: var(--term-text-bright);
    text-shadow: 0 0 10px var(--term-accent-glow);
}

/* Remove avatar glow animation in terminal mode */
body.terminal-theme .agent-avatar {
    animation: none;
    box-shadow: none;
    filter: none;
    border: 2px solid var(--term-border);
    border-radius: 4px;
}

/* ========================================
   CHAT INTERFACE
   ======================================== */
body.terminal-theme .chat-container {
    background: transparent;
    border: none;
    border-radius: 0;
    backdrop-filter: none;
    padding: 0;
}

body.terminal-theme .chat-messages {
    scrollbar-color: var(--term-border-dim) transparent;
}

body.terminal-theme .chat-message {
    border-radius: 4px;
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .user-message {
    background: var(--term-border);
    color: #0a0a0a;
    border: none;
}

body.terminal-theme .ai-message {
    background: var(--term-card-bg);
    color: var(--term-text);
    border: 1px solid var(--term-border-dim);
}

body.terminal-theme .ai-message strong {
    color: var(--term-text-bright);
}

body.terminal-theme .ai-message code {
    background: rgba(0, 0, 0, 0.5);
    color: var(--term-accent);
    border: 1px solid var(--term-border-dim);
}

/* Chat Input */
body.terminal-theme .chat-input {
    background: var(--term-input-bg);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .chat-input::placeholder {
    color: var(--term-text-dim);
}

body.terminal-theme .chat-input:focus {
    border-color: var(--term-text-bright);
    box-shadow: 0 0 10px var(--term-accent-glow);
}

/* Journal mode visual indicator */
body.journal-mode .chat-input {
    border: 2px solid #d4af37;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.5);
    animation: journal-glow 2s ease-in-out infinite;
}

body.journal-mode .chat-input:focus {
    border-color: #ffd700;
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.6);
}

@keyframes journal-glow {

    0%,
    100% {
        box-shadow: 0 0 15px rgba(212, 175, 55, 0.5);
    }

    50% {
        box-shadow: 0 0 25px rgba(255, 215, 0, 0.7);
    }
}

/* Terminal mode button layout: stacked columns on left and right */
body.terminal-theme .chat-input-area {
    display: grid;
    grid-template-columns: 36px 1fr 36px;
    grid-template-rows: 36px 36px;
    gap: 8px;
    align-items: center;
    justify-items: center;
}

/* Left column - stack attach and voice-mode */
body.terminal-theme .chat-attach-btn {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    justify-self: center;
    align-self: center;
}

body.terminal-theme .voice-mode-btn {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    justify-self: center;
    align-self: center;
}

/* Center - textarea spans both rows */
body.terminal-theme .chat-input {
    grid-column: 2;
    grid-row: 1 / 3;
    justify-self: stretch;
    align-self: stretch;
}

/* Right column - stack mic and send */
body.terminal-theme .chat-voice-btn {
    grid-column: 3;
    grid-row: 1;
    justify-self: center;
    align-self: center;
}

body.terminal-theme .chat-send-btn {
    grid-column: 3;
    grid-row: 2;
    justify-self: center;
    align-self: center;
}

/* Chat Buttons */
body.terminal-theme .chat-send-btn {
    background: var(--term-border);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    color: #0a0a0a;
    width: 36px;
    height: 36px;
}

body.terminal-theme .chat-send-btn:hover {
    background: var(--term-text-bright);
    box-shadow: 0 0 15px var(--term-accent-glow);
}

body.terminal-theme .chat-attach-btn,
body.terminal-theme .chat-voice-btn,
body.terminal-theme .voice-mode-btn {
    background: var(--term-bg);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text);
    width: 36px;
    height: 36px;
}

body.terminal-theme .chat-attach-btn:hover,
body.terminal-theme .chat-voice-btn:hover,
body.terminal-theme .voice-mode-btn:hover {
    background: var(--term-card-bg);
    border-color: var(--term-border);
    color: var(--term-text-bright);
}

body.terminal-theme .chat-voice-btn.listening {
    background: rgba(255, 140, 0, 0.2);
    border-color: var(--term-accent);
    color: var(--term-accent);
}

body.terminal-theme .voice-mode-btn.active {
    background: var(--term-accent);
    color: #0a0a0a;
}

/* ========================================
   RIGHT PANEL - FEEDS
   ======================================== */
body.terminal-theme .glass-card {
    background: var(--term-bg-secondary);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    backdrop-filter: none;
}

body.terminal-theme .glass-card:hover {
    transform: none;
    box-shadow: 0 0 15px var(--term-accent-glow);
}

body.terminal-theme .card-header {
    color: var(--term-text-bright);
    border-bottom: 1px solid var(--term-border-dim);
    font-family: 'Consolas', 'Monaco', monospace;
    text-transform: uppercase;
    letter-spacing: 2px;
}

body.terminal-theme .card-content {
    color: var(--term-text);
    font-weight: 400;
    scrollbar-color: var(--term-border-dim) transparent;
}

/* Feed Items */
body.terminal-theme .feed-item {
    border-bottom: 1px solid var(--term-border-dim);
}

body.terminal-theme .feed-title {
    color: var(--term-text);
}

body.terminal-theme .feed-time {
    color: var(--term-text-dim);
}

/* Tasks */
body.terminal-theme .tasks-section,
body.terminal-theme .calendar-section {
    background: var(--term-card-bg);
    border-radius: 4px;
    border: 1px solid var(--term-border-dim);
}

body.terminal-theme .task-item,
body.terminal-theme .calendar-event {
    background: var(--term-bg);
    border-radius: 4px;
    border-left: 3px solid var(--term-border);
}

body.terminal-theme .task-item:hover,
body.terminal-theme .calendar-event:hover {
    background: var(--term-card-bg);
}

body.terminal-theme .task-complete-btn {
    background: transparent;
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text);
}

body.terminal-theme .task-complete-btn:hover {
    background: var(--term-accent);
    border-color: var(--term-accent);
    color: #0a0a0a;
}

/* News */
body.terminal-theme .news-category-header {
    color: var(--term-text-bright);
    border-bottom: 1px solid var(--term-border-dim);
}

body.terminal-theme .news-story {
    background: var(--term-card-bg);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
}

body.terminal-theme .news-story:hover {
    border-color: var(--term-border);
}

/* Filter Pills */
body.terminal-theme .filter-pill {
    background: transparent;
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .filter-pill:hover,
body.terminal-theme .filter-pill.active {
    background: var(--term-border);
    border-color: var(--term-border);
    color: #0a0a0a;
}

/* ========================================
   BOTTOM NAVIGATION
   ======================================== */
body.terminal-theme .bottom-nav {
    background: var(--term-bg);
    border-top: 1px solid var(--term-border);
    backdrop-filter: none;
}

body.terminal-theme .nav-item {
    color: var(--term-text-dim);
}

body.terminal-theme .nav-item:hover,
body.terminal-theme .nav-item.active {
    color: var(--term-text-bright);
}

body.terminal-theme .nav-icon-avatar {
    filter: sepia(100%) saturate(300%) hue-rotate(-10deg) brightness(1.2);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
}

body.terminal-theme .nav-badge,
body.terminal-theme .journal-badge {
    background: var(--term-accent);
    color: #0a0a0a;
    border-radius: 4px;
}

/* Terminal mode nav icons - hide terminal icon by default */
.nav-icon-terminal {
    display: none;
}

/* In terminal mode: show terminal icon, hide default icon and labels */
body.terminal-theme .nav-icon-default {
    display: none;
}

body.terminal-theme .nav-icon-terminal {
    display: block;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

body.terminal-theme .nav-label {
    display: none;
}

/* ========================================
   WEATHER & COMMUTE
   ======================================== */
body.terminal-theme .hourly-item {
    background: var(--term-card-bg);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
}

body.terminal-theme #commute-card,
body.terminal-theme #smart-transit-card {
    background: var(--term-card-bg) !important;
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
}

/* ========================================
   THEME TOGGLE BUTTON
   ======================================== */
.theme-toggle-btn {
    position: fixed;
    top: 1rem;
    right: 1rem;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid var(--glass-border);
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 100;
    font-family: 'Consolas', monospace;
    font-size: 14px;
    font-weight: bold;
}

.theme-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: var(--accent-secondary);
    color: var(--accent-secondary);
    transform: scale(1.05);
}

/* Terminal theme toggle button styling */
body.terminal-theme .theme-toggle-btn {
    background: var(--term-bg);
    border: 1px solid var(--term-border);
    color: var(--term-text);
    border-radius: 4px;
}

body.terminal-theme .theme-toggle-btn:hover {
    background: var(--term-card-bg);
    border-color: var(--term-text-bright);
    color: var(--term-text-bright);
}

/* ========================================
   ATTACHED FILE PREVIEW
   ======================================== */
body.terminal-theme .attached-file-preview {
    background: var(--term-card-bg);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
}

body.terminal-theme .attached-file-name {
    color: var(--term-text);
}

/* ========================================
   TOAST NOTIFICATIONS
   ======================================== */
body.terminal-theme .deep-dive-toast {
    background: var(--term-bg);
    border: 1px solid var(--term-border);
    color: var(--term-text);
    border-radius: 4px;
}

/* ========================================
   SCROLLBAR STYLING
   ======================================== */
body.terminal-theme ::-webkit-scrollbar {
    width: 6px;
}

body.terminal-theme ::-webkit-scrollbar-track {
    background: var(--term-bg);
}

body.terminal-theme ::-webkit-scrollbar-thumb {
    background: var(--term-border-dim);
    border-radius: 2px;
}

body.terminal-theme ::-webkit-scrollbar-thumb:hover {
    background: var(--term-border);
}

/* ========================================
   DISABLE ANIMATIONS IN TERMINAL MODE
   ======================================== */
body.terminal-theme .agent-avatar,
body.terminal-theme .chat-voice-btn.listening,
body.terminal-theme .voice-mode-btn.active {
    animation: none !important;
}

/* Static glow instead of animation */
body.terminal-theme .voice-mode-btn.active {
    box-shadow: 0 0 15px var(--term-accent-glow);
}

/* ========================================
   TERMINAL TYPING INDICATOR - Custom ">..." style
   ======================================== */

/* Hide default "Thinking..." text in terminal mode */
body.terminal-theme .ai-message.typing .message-content,
body.terminal-theme .typing-indicator .message-content {
    font-size: 0;
    color: transparent;
}

/* Show terminal-style ">..." indicator */
body.terminal-theme .ai-message.typing .message-content::before,
body.terminal-theme .typing-indicator .message-content::before {
    content: '>';
    font-size: 0.95rem;
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
    margin-right: 2px;
}

body.terminal-theme .ai-message.typing .message-content::after,
body.terminal-theme .typing-indicator .message-content::after {
    content: '...';
    font-size: 0.95rem;
    font-family: 'Consolas', 'Monaco', monospace;
    display: inline-block;
    animation: terminal-dots-wave 2s ease-in-out infinite;
    color: var(--term-text);
}

/* Slow wave animation for the dots */
@keyframes terminal-dots-wave {

    0%,
    100% {
        transform: translateY(0);
        opacity: 0.6;
    }

    25% {
        transform: translateY(-3px);
        opacity: 1;
    }

    50% {
        transform: translateY(0);
        opacity: 0.6;
    }

    75% {
        transform: translateY(3px);
        opacity: 0.4;
    }
}

/* Terminal greeting - swap visibility */
body.terminal-theme .greeting-default {
    display: none !important;
}

body.terminal-theme .greeting-terminal {
    display: inline !important;
    font-family: 'Consolas', 'Monaco', monospace;
    color: var(--term-text);
}

/* Blinking cursor animation for terminal greeting */
body.terminal-theme .terminal-cursor {
    animation: terminal-cursor-blink 1s step-end infinite;
}

@keyframes terminal-cursor-blink {

    0%,
    50% {
        opacity: 1;
    }

    51%,
    100% {
        opacity: 0;
    }
}

/* ========================================
   FEED PAGE SPECIFIC STYLES
   ======================================== */
body.terminal-theme.feed-page {
    background: #0a0a0a;
}

body.terminal-theme .feed-container {
    background: var(--term-bg);
    border: 1px solid var(--term-border);
    border-radius: 4px;
}

body.terminal-theme .feed-page-header {
    background: var(--term-bg-secondary);
    border-bottom: 1px solid var(--term-border);
    color: var(--term-text-bright);
    position: relative;
}

body.terminal-theme .feed-page-header h1 {
    font-family: 'Consolas', 'Monaco', monospace;
    font-weight: 400;
    color: var(--term-text-bright);
    letter-spacing: 2px;
}

body.terminal-theme .feed-date {
    color: var(--term-text-dim);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .feed-main {
    background: var(--term-bg);
}

/* Blog/Journal article links */
body.terminal-theme .blog-link {
    color: var(--term-accent);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .blog-link:hover {
    color: var(--term-text-bright);
}

/* Deep dive button */
body.terminal-theme .deep-dive-btn {
    background: transparent;
    border: 1px solid var(--term-border-dim);
    color: var(--term-text);
    border-radius: 4px;
}

body.terminal-theme .deep-dive-btn:hover {
    background: var(--term-border);
    color: #0a0a0a;
}

/* Update badge */
body.terminal-theme .update-badge {
    background: var(--term-accent);
    color: #0a0a0a;
    border-radius: 4px;
}

/* Update history */
body.terminal-theme .update-history {
    background: var(--term-card-bg);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text-dim);
}

/* ========================================
   CHAT BUBBLE TERMINAL STYLING
   ======================================== */
body.terminal-theme .chat-bubble {
    background: var(--term-bg);
    border: 2px solid var(--term-border);
    border-radius: 4px;
    color: var(--term-text);
    box-shadow: 0 0 15px var(--term-accent-glow);
}

body.terminal-theme .chat-bubble:hover {
    background: var(--term-card-bg);
    border-color: var(--term-text-bright);
}

body.terminal-theme .chat-bubble.active {
    background: var(--term-accent);
    color: #0a0a0a;
}

body.terminal-theme .chat-bubble-panel {
    background: var(--term-bg);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    box-shadow: 0 0 30px var(--term-accent-glow);
}

body.terminal-theme .chat-bubble-header {
    display: none;
    /* Hide header in terminal mode */
}

body.terminal-theme .chat-bubble-close {
    color: var(--term-text);
}

body.terminal-theme .chat-bubble-close:hover {
    color: var(--term-text-bright);
}

body.terminal-theme .chat-bubble-messages {
    background: var(--term-bg);
    scrollbar-color: var(--term-border-dim) transparent;
}

body.terminal-theme .chat-bubble-message {
    font-family: 'Consolas', 'Monaco', monospace;
    border-radius: 4px;
}

body.terminal-theme .chat-bubble-message.user {
    background: var(--term-border);
    color: #0a0a0a;
}

body.terminal-theme .chat-bubble-message.ai {
    background: var(--term-card-bg);
    border: 1px solid var(--term-border-dim);
    color: var(--term-text);
}

/* Terminal greeting in chat bubble */
body.terminal-theme .chat-bubble-message .greeting-default {
    display: none;
}

body.terminal-theme .chat-bubble-message .greeting-terminal {
    display: inline;
    font-family: 'Consolas', 'Monaco', monospace;
    color: var(--term-text);
}

body.terminal-theme .chat-bubble-message .terminal-cursor {
    animation: terminal-cursor-blink 1s step-end infinite;
    color: var(--term-text-bright);
}

body.terminal-theme .chat-bubble-message.ai strong {
    color: var(--term-text-bright);
}

body.terminal-theme .chat-bubble-message.ai code {
    background: rgba(0, 0, 0, 0.5);
    color: var(--term-accent);
    border: 1px solid var(--term-border-dim);
}

body.terminal-theme .chat-bubble-input-area {
    background: var(--term-bg-secondary);
    border-top: 1px solid var(--term-border-dim);
}

body.terminal-theme .chat-bubble-input-area textarea {
    background: var(--term-input-bg);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .chat-bubble-input-area textarea::placeholder {
    color: var(--term-text-dim);
}

body.terminal-theme .chat-bubble-input-area textarea:focus {
    border-color: var(--term-text-bright);
    box-shadow: 0 0 10px var(--term-accent-glow);
}

body.terminal-theme .chat-bubble-input-area button {
    background: var(--term-bg);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text);
}

body.terminal-theme .chat-bubble-input-area button:hover {
    background: var(--term-border);
    color: #0a0a0a;
}

body.terminal-theme #bubble-send {
    background: var(--term-border);
    color: #0a0a0a;
}

body.terminal-theme #bubble-send:hover {
    background: var(--term-text-bright);
}

/* Typing indicator animation override */
body.terminal-theme .chat-bubble-message.typing span {
    color: var(--term-text-dim);
}

/* ========================================
   FEED PAGE SPECIFIC STYLES
   ======================================== */

/* Title visibility - hide terminal title by default, show in terminal mode */
.feed-title-terminal {
    display: none;
}

body.terminal-theme .feed-title-default {
    display: none;
}

body.terminal-theme .feed-title-terminal {
    display: block;
    font-family: 'Consolas', 'Monaco', monospace;
    font-weight: 400;
    color: var(--term-text-bright);
    letter-spacing: 1px;
}

body.terminal-theme .feed-title-terminal #terminal-date {
    color: var(--term-text-dim);
}

body.terminal-theme.feed-page {
    background: #0a0a0a;
}

body.terminal-theme .feed-container {
    background: var(--term-bg);
}

body.terminal-theme .feed-page-header {
    background: var(--term-bg-secondary);
    border-bottom: 1px solid var(--term-border);
    position: relative;
}

/* Hide the regular date element in terminal mode - date is in title now */
body.terminal-theme .feed-date {
    display: none;
}

body.terminal-theme .feed-main {
    background: var(--term-bg);
}

body.terminal-theme .feed-item {
    background: var(--term-bg-secondary);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    padding-left: 1rem;
}

body.terminal-theme .feed-item:hover {
    background: var(--term-card-bg);
    border-color: var(--term-text-bright);
    box-shadow: 0 0 15px var(--term-accent-glow);
}

body.terminal-theme .feed-item h3 {
    color: var(--term-text-bright);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .feed-item p {
    color: var(--term-text);
}

body.terminal-theme .feed-item .feed-item-meta {
    color: var(--term-text-dim);
}

/* ========================================
   LYCEUM PAGE SPECIFIC STYLES
   ======================================== */
body.terminal-theme.lyceum-page {
    background: #0a0a0a;
}

body.terminal-theme .lyceum-container {
    background: var(--term-bg);
}

body.terminal-theme .lyceum-page-header {
    background: var(--term-bg-secondary);
    border-bottom: 1px solid var(--term-border);
    position: relative;
}

/* Title visibility - hide terminal title by default, show in terminal mode */
.lyceum-title-terminal {
    display: none;
}

body.terminal-theme .lyceum-title-default {
    display: none;
}

body.terminal-theme .lyceum-title-terminal {
    display: block;
    font-family: 'Consolas', 'Monaco', monospace;
    font-weight: 400;
    color: var(--term-text-bright);
    letter-spacing: 1px;
}

/* Hide emojis in terminal mode */
body.terminal-theme .emoji-icon {
    display: none;
}

body.terminal-theme .lyceum-page-subtitle {
    color: var(--term-text-dim);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .lyceum-back-link {
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .lyceum-back-link:hover {
    color: var(--term-text-bright);
}

/* Lyceum Tabs */
body.terminal-theme .lyceum-tabs {
    background: var(--term-bg);
    border-bottom: 1px solid var(--term-border-dim);
}

body.terminal-theme .lyceum-tab {
    background: transparent;
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .lyceum-tab:hover {
    background: var(--term-card-bg);
    border-color: var(--term-border);
}

body.terminal-theme .lyceum-tab.active {
    background: var(--term-border);
    border-color: var(--term-border);
    color: #0a0a0a;
}

/* Lyceum Main */
body.terminal-theme .lyceum-main {
    background: var(--term-bg);
}

body.terminal-theme .section-header h2 {
    color: var(--term-text-bright);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .section-subtitle {
    color: var(--term-text-dim);
}

/* Content Cards */
body.terminal-theme .content-card {
    background: var(--term-bg-secondary);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    color: var(--term-text);
}

body.terminal-theme .content-card:hover {
    background: var(--term-card-bg);
    border-color: var(--term-text-bright);
    box-shadow: 0 0 15px var(--term-accent-glow);
}

body.terminal-theme .card-title {
    color: var(--term-text-bright);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .card-description {
    color: var(--term-text);
}

body.terminal-theme .card-meta {
    color: var(--term-text-dim);
}

body.terminal-theme .delete-btn {
    background: transparent;
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text);
}

body.terminal-theme .delete-btn:hover {
    background: #ff4444;
    border-color: #ff4444;
}

/* Create Course Button */
body.terminal-theme .create-course-btn {
    background: var(--term-border);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    color: #0a0a0a;
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .create-course-btn:hover {
    background: var(--term-text-bright);
}

/* Content Viewer */
body.terminal-theme .content-viewer {
    background: var(--term-bg);
}

body.terminal-theme .viewer-header {
    background: var(--term-bg-secondary);
    border-bottom: 1px solid var(--term-border);
}

body.terminal-theme .viewer-back-btn {
    background: transparent;
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .viewer-back-btn:hover {
    border-color: var(--term-border);
    color: var(--term-text-bright);
}

body.terminal-theme #viewer-title {
    color: var(--term-text-bright);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .viewer-edit-btn,
body.terminal-theme .viewer-generate-btn {
    background: var(--term-border);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    color: #0a0a0a;
}

body.terminal-theme .viewer-edit-btn:hover,
body.terminal-theme .viewer-generate-btn:hover {
    background: var(--term-text-bright);
}

body.terminal-theme .viewer-content {
    background: var(--term-bg);
    color: var(--term-text);
}

/* Rendered Content (Markdown) */
body.terminal-theme .rendered-content {
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .rendered-content h1,
body.terminal-theme .rendered-content h2,
body.terminal-theme .rendered-content h3 {
    color: var(--term-text-bright);
}

body.terminal-theme .rendered-content a {
    color: var(--term-accent);
}

body.terminal-theme .rendered-content a:hover {
    color: var(--term-text-bright);
}

body.terminal-theme .rendered-content code {
    background: rgba(0, 0, 0, 0.5);
    color: var(--term-accent);
    border: 1px solid var(--term-border-dim);
}

body.terminal-theme .rendered-content pre {
    background: var(--term-bg-secondary);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
}

body.terminal-theme .rendered-content blockquote {
    border-left: 3px solid var(--term-border);
    color: var(--term-text-dim);
}

body.terminal-theme .rendered-content table {
    border: 1px solid var(--term-border-dim);
}

body.terminal-theme .rendered-content th {
    background: var(--term-bg-secondary);
    border: 1px solid var(--term-border-dim);
    color: var(--term-text-bright);
}

body.terminal-theme .rendered-content td {
    border: 1px solid var(--term-border-dim);
}

/* Course Overview */
body.terminal-theme .course-overview {
    background: var(--term-bg);
}

body.terminal-theme .course-section h3 {
    color: var(--term-text-bright);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .course-material-btn {
    background: var(--term-border);
    border: none;
    border-radius: 4px;
    color: #0a0a0a;
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .course-material-btn:hover {
    background: var(--term-text-bright);
}

body.terminal-theme .lecture-btn {
    background: var(--term-bg-secondary);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    color: var(--term-text);
    text-decoration: none;
}

body.terminal-theme .lecture-btn:hover {
    background: var(--term-card-bg);
    border-color: var(--term-text-bright);
}

body.terminal-theme .lecture-num {
    background: #0a0a0a;
    border: 1px solid var(--term-accent);
    color: var(--term-accent);
}

body.terminal-theme .lecture-title {
    color: var(--term-text);
}

/* Modals */
body.terminal-theme .modal-overlay {
    background: rgba(0, 0, 0, 0.9);
}

body.terminal-theme .modal-content {
    background: var(--term-bg);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    box-shadow: 0 0 30px var(--term-accent-glow);
}

body.terminal-theme .modal-header {
    background: var(--term-bg-secondary);
    border-bottom: 1px solid var(--term-border);
}

body.terminal-theme .modal-header h2 {
    color: var(--term-text-bright);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .modal-close-btn {
    color: var(--term-text);
}

body.terminal-theme .modal-close-btn:hover {
    color: var(--term-text-bright);
}

body.terminal-theme .form-group label {
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .form-group textarea,
body.terminal-theme .form-group input {
    background: var(--term-input-bg);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .form-group textarea::placeholder,
body.terminal-theme .form-group input::placeholder {
    color: var(--term-text-dim);
}

body.terminal-theme .form-group textarea:focus,
body.terminal-theme .form-group input:focus {
    border-color: var(--term-text-bright);
    box-shadow: 0 0 10px var(--term-accent-glow);
}

body.terminal-theme .btn-primary {
    background: var(--term-border);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    color: #0a0a0a;
}

body.terminal-theme .btn-primary:hover {
    background: var(--term-text-bright);
}

body.terminal-theme .btn-secondary {
    background: transparent;
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text);
}

body.terminal-theme .btn-secondary:hover {
    border-color: var(--term-border);
    color: var(--term-text-bright);
}

/* File Drop Zone */
body.terminal-theme .file-drop-zone {
    background: var(--term-card-bg);
    border: 2px dashed var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text-dim);
}

body.terminal-theme .file-drop-zone.drag-over {
    border-color: var(--term-accent);
    background: rgba(255, 140, 0, 0.1);
}

body.terminal-theme .file-select-link {
    color: var(--term-accent);
}

/* Progress Bar */
body.terminal-theme .progress-bar-container {
    background: var(--term-bg-secondary);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
}

body.terminal-theme .progress-bar {
    background: var(--term-accent);
}

body.terminal-theme .progress-text {
    color: var(--term-text);
}

/* Toast Notifications */
body.terminal-theme .toast {
    background: var(--term-bg);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    color: var(--term-text);
    box-shadow: 0 0 15px var(--term-accent-glow);
}

body.terminal-theme .toast.toast-error {
    border-color: #ff4444;
}

/* ========================================
   LECTURE PAGE SPECIFIC STYLES
   ======================================== */
body.terminal-theme .lecture-page {
    background: var(--term-bg);
}

body.terminal-theme .lecture-page-header {
    border-bottom: 1px solid var(--term-border);
    position: relative;
}

body.terminal-theme .lecture-back-link {
    background: var(--term-bg);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .lecture-back-link:hover {
    background: var(--term-card-bg);
    border-color: var(--term-border);
    color: var(--term-text-bright);
}

body.terminal-theme .lecture-page-title {
    color: var(--term-text-bright);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .lecture-breadcrumb {
    color: var(--term-text-dim);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .lecture-breadcrumb a {
    color: var(--term-accent);
}

body.terminal-theme .lecture-breadcrumb a:hover {
    color: var(--term-text-bright);
}

body.terminal-theme .lecture-meta {
    color: var(--term-text-dim);
    font-family: 'Consolas', 'Monaco', monospace;
}

/* Audio Player */
body.terminal-theme .audio-player-container {
    background: var(--term-bg-secondary);
    border: 1px solid var(--term-border);
    border-radius: 4px;
    backdrop-filter: none;
}

body.terminal-theme .play-btn {
    background: var(--term-border);
    color: #0a0a0a;
    border-radius: 4px;
}

body.terminal-theme .play-btn:hover {
    background: var(--term-text-bright);
    box-shadow: 0 0 15px var(--term-accent-glow);
}

body.terminal-theme .time-display {
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .progress-container {
    background: var(--term-bg);
    border: 1px solid var(--term-border-dim);
    border-radius: 2px;
}

body.terminal-theme .audio-player-container .progress-bar {
    background: var(--term-accent);
}

body.terminal-theme .chapter-marker {
    background: var(--term-text);
}

body.terminal-theme .chapter-marker:hover {
    background: var(--term-text-bright);
}

body.terminal-theme .chapter-marker-tooltip {
    background: var(--term-bg);
    border: 1px solid var(--term-border);
    color: var(--term-text);
}

body.terminal-theme .speed-control label {
    color: var(--term-text-dim);
}

body.terminal-theme .speed-select {
    background: var(--term-bg);
    border: 1px solid var(--term-border-dim);
    color: var(--term-text);
    border-radius: 4px;
}

body.terminal-theme .speed-select option {
    background: var(--term-bg);
}

body.terminal-theme .current-chapter {
    color: var(--term-accent);
    border-top-color: var(--term-border-dim);
    font-family: 'Consolas', 'Monaco', monospace;
}

/* Lecture Content */
body.terminal-theme .lecture-page-content {
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .lecture-page-content h1 {
    color: var(--term-text-bright);
    border-bottom-color: var(--term-border);
}

body.terminal-theme .lecture-page-content h2 {
    color: var(--term-accent);
}

body.terminal-theme .lecture-page-content h3 {
    color: var(--term-text-bright);
}

body.terminal-theme .lecture-page-content a {
    color: var(--term-accent);
}

body.terminal-theme .lecture-page-content a:hover {
    color: var(--term-text-bright);
}

body.terminal-theme .lecture-page-content strong {
    color: var(--term-text-bright);
}

body.terminal-theme .lecture-page-content code {
    background: rgba(0, 0, 0, 0.5);
    color: var(--term-accent);
    border: 1px solid var(--term-border-dim);
}

body.terminal-theme .lecture-page-content pre {
    background: var(--term-bg-secondary);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
}

body.terminal-theme .lecture-page-content blockquote {
    border-left: 3px solid var(--term-border);
    background: var(--term-card-bg);
    color: var(--term-text-dim);
}

body.terminal-theme .lecture-page-content hr {
    border-top-color: var(--term-border-dim);
}

body.terminal-theme .lecture-section-active {
    background: rgba(255, 140, 0, 0.1);
    border-left: 3px solid var(--term-accent);
}

/* ========================================
   DEEP DIVE PAGE SPECIFIC STYLES
   ======================================== */
body.terminal-theme .deep-dive-page {
    background: var(--term-bg);
}

body.terminal-theme .deep-dive-page-header {
    border-bottom: 1px solid var(--term-border);
    position: relative;
}

body.terminal-theme .deep-dive-back-link {
    background: var(--term-bg);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .deep-dive-back-link:hover {
    background: var(--term-card-bg);
    border-color: var(--term-border);
    color: var(--term-text-bright);
}

body.terminal-theme .deep-dive-page-title {
    color: var(--term-text-bright);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .deep-dive-meta {
    color: var(--term-text-dim);
    font-family: 'Consolas', 'Monaco', monospace;
}

/* Deep Dive Content */
body.terminal-theme .deep-dive-page-content {
    color: var(--term-text);
    font-family: 'Consolas', 'Monaco', monospace;
}

body.terminal-theme .deep-dive-page-content h1 {
    color: var(--term-text-bright);
    border-bottom-color: var(--term-border);
}

body.terminal-theme .deep-dive-page-content h2 {
    color: var(--term-accent);
}

body.terminal-theme .deep-dive-page-content h3 {
    color: var(--term-text-bright);
}

body.terminal-theme .deep-dive-page-content a {
    color: var(--term-accent);
}

body.terminal-theme .deep-dive-page-content a:hover {
    color: var(--term-text-bright);
}

body.terminal-theme .deep-dive-page-content strong {
    color: var(--term-text-bright);
}

body.terminal-theme .deep-dive-page-content code {
    background: rgba(0, 0, 0, 0.5);
    color: var(--term-accent);
    border: 1px solid var(--term-border-dim);
}

body.terminal-theme .deep-dive-page-content pre {
    background: var(--term-bg-secondary);
    border: 1px solid var(--term-border-dim);
    border-radius: 4px;
}

body.terminal-theme .deep-dive-page-content blockquote {
    border-left: 3px solid var(--term-border);
    background: var(--term-card-bg);
    color: var(--term-text-dim);
}

body.terminal-theme .deep-dive-page-content hr {
    border-top-color: var(--term-border-dim);
}