/* dan-cp custom styles — Tailwind handles most; these fill the gaps */

/* Smooth scrollbar for dark theme */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: #0f1117;
}
::-webkit-scrollbar-thumb {
    background: #30363d;
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: #484f58;
}

/* HTMX loading indicator */
.htmx-indicator {
    opacity: 0;
    transition: opacity 200ms ease-in;
}
.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
    opacity: 1;
}

/* Prevent layout shift when HTMX swaps content */
[hx-target],
[data-hx-target] {
    min-height: 0;
}

/* Approval queue cards */
.approval-card {
    transition: opacity 300ms ease-out;
}

/* Approve / Deny button active states */
.approve-btn:active {
    background-color: #15803d; /* green-700 darker */
}

.deny-btn:active {
    background-color: #991b1b; /* red-800 darker */
}

/* Disable both buttons after one is clicked (managed via JS) */
.approval-card.deciding .approve-btn,
.approval-card.deciding .deny-btn {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

/* Research feed: clamp long summaries */
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Research block hover border */
.research-block {
    transition: border-color 150ms ease;
}
.research-block:hover {
    border-color: #484f58;
}

/* Research note left-border accent */
.research-note {
    transition: border-color 150ms ease;
}
.research-note:hover {
    border-left-color: #58a6ff;
}

/* Capital ledger table rows */
.capital-row {
    transition: background-color 100ms ease;
}
.capital-row:hover {
    background-color: #1c2128;
}

/* Capital table: tighten columns on small screens */
@media (max-width: 640px) {
    .capital-table td,
    .capital-table th {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}

/* Category badge colour overrides per category value */
.category-badge[data-category="ad"] { background-color: #1e3a5f; color: #93c5fd; }
.category-badge[data-category="domain"] { background-color: #2d1f4e; color: #c4b5fd; }
.category-badge[data-category="tooling"] { background-color: #1a3a2a; color: #6ee7b7; }
.category-badge[data-category="hosting"] { background-color: #3a2a0a; color: #fcd34d; }

/* Health page usage bars */
.health-bar {
    transition: width 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Debate cards */
.debate-card {
    transition: border-color 150ms ease;
}
.debate-card:hover {
    border-color: #484f58;
}

/* Debate section blocks (thesis / antithesis / synthesis) */
.debate-section {
    transition: border-color 150ms ease;
}
.debate-thesis:hover {
    border-color: #1d4ed8; /* blue-700 */
}
.debate-antithesis:hover {
    border-color: #c2410c; /* orange-700 */
}
.debate-synthesis:hover {
    border-color: #7e22ce; /* purple-700 */
}

/* Debate section label */
.debate-section-label {
    letter-spacing: 0.05em;
}
