/* ==================== DESKTOP-ONLY STYLES ==================== */

/* Body - Desktop specific height */
body {
    height: 100vh;
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}

.app-container {
    height: 100vh;
}

/* Desktop Visibility */
.desktop-only {
    display: block;
}

/* ==================== HEADER BAR (Desktop Only) ==================== */
.header-bar {
    background: linear-gradient(to bottom,
        rgba(26, 26, 53, 0.95),
        rgba(13, 13, 31, 0.98)
    );
    border-bottom: 1px solid var(--electric-cyan);
    box-shadow:
        0 0 20px var(--electric-cyan),
        0 4px 0 var(--grid-pink),
        inset 0 1px 0 rgba(0, 255, 255, 0.2);
    padding: 14px 28px;
    display: flex;
    align-items: center;
    gap: 24px;
    position: relative;
    z-index: 10;
}

.header-bar h1 {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--electric-cyan);
    text-shadow:
        0 0 10px var(--electric-cyan),
        0 0 20px rgba(0, 255, 255, 0.5),
        2px 2px 4px rgba(0, 0, 0, 0.5);
    animation: neon-flicker 3s infinite;
    position: relative;
    z-index: 3;
}

.header-stats {
    margin-left: auto;
    display: flex;
    gap: 16px;
    align-items: center;
}

.lantern-glow {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--electric-cyan);
}

/* Desktop Turn Navigation (in header) */
.turn-navigation {
    display: flex;
    align-items: center;
    gap: 8px;
}

.turn-nav-btn {
    background: rgba(0, 255, 255, 0.1);
    border: 1px solid var(--electric-cyan);
    color: var(--electric-cyan);
    padding: 6px 10px;
    border-radius: 4px;
    font-family: var(--font-mono);
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.turn-nav-btn:hover:not(:disabled) {
    background: rgba(0, 255, 255, 0.2);
    box-shadow: 0 0 8px rgba(0, 255, 255, 0.3);
}

.turn-nav-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.turn-counter {
    font-family: var(--font-mono);
    font-size: 13px;
    font-weight: 600;
    color: var(--electric-cyan);
    padding: 6px 12px;
    background: rgba(0, 255, 255, 0.1);
    border: 1px solid var(--electric-cyan);
    border-radius: 4px;
    min-width: 100px;
    text-align: center;
    letter-spacing: 0.05em;
}

.turn-counter.viewing-past {
    color: var(--warning-orange);
    font-style: italic;
}

/* ==================== THREE PANELS (Desktop Layout) ==================== */
.panels-container {
    display: flex;
    flex: 1;
    gap: 1px;
    background: var(--deep-space);
    overflow: hidden;
}

/* Desktop-specific panel enhancements (base styles in shared.css) */
.panel {
    flex: 1;
    min-width: 0;
    min-height: 0; /* Critical: allow flex to shrink properly */
    overflow: visible; /* Override shared.css to allow scrollbar to show */
}

.panel:hover {
    background: linear-gradient(to bottom,
        rgba(15, 15, 35, 0.9),
        rgba(22, 22, 42, 0.8)
    );
}

/* Hide conversations panel on desktop - use dropdown instead */
.panel[data-panel="conversations"] {
    display: none;
}

/* Glossy overlay effect on panel header */
.panel-header::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(255, 255, 255, 0.06) 30%,
        rgba(255, 255, 255, 0.02) 60%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 1;
}

/* Border effect (left edge) */
.panel::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(to bottom,
        var(--electric-cyan),
        var(--hot-pink),
        var(--electric-cyan)
    );
    z-index: 2;
}

/* Animated background glow - moved to shared.css */

.panel:nth-child(1)::before {
    background: linear-gradient(to bottom,
        var(--acid-green),
        var(--electric-cyan),
        var(--acid-green)
    );
}

.panel:nth-child(2)::before {
    background: linear-gradient(to bottom,
        var(--hot-pink),
        var(--electric-cyan),
        var(--hot-pink)
    );
    box-shadow: 0 0 8px var(--hot-pink);
}

.panel:nth-child(3)::before {
    background: linear-gradient(to bottom,
        var(--hot-pink),
        var(--warning-orange),
        var(--hot-pink)
    );
    box-shadow: 0 0 8px var(--hot-pink);
}

/* Panel dividers */
.panel:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(to bottom,
        transparent,
        rgba(168, 213, 168, 0.1),
        transparent
    );
    box-shadow: 1px 0 0 rgba(0, 0, 0, 0.5);
}

/* Panel Header */
/* Panel header styles moved to shared.css */

/* Panel Body */
/* Desktop-specific panel-body enhancements (base styles in shared.css) */
.panel-body {
    scrollbar-width: thin;
    scrollbar-color: var(--electric-cyan) rgba(13, 13, 31, 0.5);
    min-height: 0; /* Critical: prevent flex item from expanding beyond container */
    max-height: 100%; /* Constrain to parent panel height */
}

/* Input field scrollbar styling (Firefox) */
.input-field,
.notes-input {
    scrollbar-width: thin;
    scrollbar-color: var(--electric-cyan) rgba(13, 13, 31, 0.5);
}

/* Chat message container - minimal padding to prevent phantom scroll */
#messageHistory {
    padding: 0 !important; /* Remove all padding - messages have their own margins */
    overflow-y: auto !important; /* Ensure scrollbar appears when needed */
    overflow-x: hidden !important;
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: var(--electric-cyan) rgba(13, 13, 31, 0.5); /* Firefox */
    /* Let flex handle sizing - no explicit height to avoid layout conflicts */
}

/* Disable animated background glow for message history (prevents phantom space) */
#messageHistory::before {
    display: none !important;
}

/* Parsed context container - same fixes as message history to prevent scrollbar jumping */
#characterPanel {
    padding: 20px 24px !important; /* Consistent padding, but contained within this element */
    overflow-y: auto !important; /* Ensure scrollbar appears when needed */
    overflow-x: hidden !important;
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: var(--electric-cyan) rgba(13, 13, 31, 0.5); /* Firefox */
    /* Let flex handle sizing - no explicit height to avoid layout conflicts */
}

/* Disable animated background glow for parsed context (prevents phantom space and scrollbar jumping) */
#characterPanel::before {
    display: none !important;
}

/* Add spacing to messages within the chat container */
#messageHistory .message {
    margin: 20px 20px 20px 20px; /* Side margins for breathing room */
}

#messageHistory .message:first-child {
    margin-top: 20px; /* Top spacing from panel header */
}

#messageHistory .message:last-child {
    margin-bottom: 20px; /* Bottom spacing before footer */
}

/* Add spacing for context sections within the parsed context panel */
#characterPanel .parsed-context {
    /* No extra margins - padding is already set on #characterPanel itself */
}

#characterPanel .context-section:first-child {
    margin-top: 0; /* No extra top margin - padding handles it */
}

#characterPanel .context-section:last-child {
    margin-bottom: 0; /* No extra bottom margin - padding handles it */
}

/* Override excessive mobile bottom padding on desktop */
@media (min-width: 769px) {
    .panel[data-panel="chat"] .panel-body {
        padding: 0; /* No padding - let messageHistory handle it */
        overflow: hidden; /* Disable parent overflow - only child scrolls */
    }

    .panel[data-panel="context"] .panel-body {
        padding: 0; /* No padding - let characterPanel handle it */
        overflow: hidden; /* Disable parent overflow - only child scrolls */
    }
}

.panel-body::-webkit-scrollbar,
#messageHistory::-webkit-scrollbar,
#characterPanel::-webkit-scrollbar,
.input-field::-webkit-scrollbar,
.notes-input::-webkit-scrollbar {
    width: 12px; /* Made wider for better visibility */
}

.panel-body::-webkit-scrollbar-track,
#messageHistory::-webkit-scrollbar-track,
#characterPanel::-webkit-scrollbar-track,
.input-field::-webkit-scrollbar-track,
.notes-input::-webkit-scrollbar-track {
    background: rgba(13, 13, 31, 0.9); /* Solid dark background */
    border-left: 2px solid rgba(0, 255, 255, 0.3); /* More visible border */
}

.panel-body::-webkit-scrollbar-thumb,
#messageHistory::-webkit-scrollbar-thumb,
#characterPanel::-webkit-scrollbar-thumb,
.input-field::-webkit-scrollbar-thumb,
.notes-input::-webkit-scrollbar-thumb {
    background: var(--electric-cyan); /* Solid bright color for testing */
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 255, 255, 0.8); /* Bright glow */
    min-height: 40px; /* Ensure thumb is big enough to see */
}

.panel-body::-webkit-scrollbar-thumb:hover,
#messageHistory::-webkit-scrollbar-thumb:hover,
#characterPanel::-webkit-scrollbar-thumb:hover,
.input-field::-webkit-scrollbar-thumb:hover,
.notes-input::-webkit-scrollbar-thumb:hover {
    background: var(--hot-pink); /* Bright color change on hover */
    box-shadow: 0 0 15px rgba(255, 20, 147, 0.9);
}

/* Panel Footer (Desktop) */
.panel-footer {
    padding: 18px 24px;
    background: linear-gradient(to top,
        rgba(20, 20, 40, 0.95),
        rgba(26, 26, 53, 0.9)
    );
    border-top: 2px solid var(--electric-cyan);
    box-shadow: inset 0 1px 0 rgba(0, 255, 255, 0.1);
}

/* ==================== PANEL TOGGLE TAB ==================== */
/* Desktop: toggle button is hidden via JavaScript - keeping styles for mobile fallback */
.panel-toggle-tab {
    position: absolute;
    right: 8px;
    top: 8px;
    width: 24px;
    height: 24px;
    background: rgba(0, 255, 255, 0.1);
    border: 1px solid var(--electric-cyan);
    border-radius: 4px;
    color: var(--electric-cyan);
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: var(--font-mono);
    z-index: 10;
    display: none; /* Hidden on desktop */
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
}

.panel-toggle-tab:hover {
    background: rgba(0, 255, 255, 0.2);
    border-color: var(--hot-pink);
    box-shadow: 0 0 8px rgba(0, 255, 255, 0.3);
    transform: scale(1.1);
}

/* Removed transitions to prevent jitter during virtual scrolling content changes */
