/* Combinatorial Fitness Landscape — shared styles (Tailwind handles the rest). */

:root {
    --syn-color: #f43f5e;      /* synergistic = fitness drop = rose */
    --add-color: #f59e0b;      /* additive = amber */
    --ant-color: #38bdf8;      /* antagonistic = resistance = sky */
    --unk-color: #64748b;      /* unknown = slate */
}

body { background: #0f172a; }

/* Heatmap grid cells (explorer) */
.hm-cell {
    width: 100%;
    min-width: 92px;
    height: 68px;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    line-height: 1.1;
    color: #fff;
    cursor: pointer;
    transition: transform 0.08s ease, box-shadow 0.08s ease;
    border: 2px solid transparent;
}
.hm-cell:hover { transform: scale(1.04); box-shadow: 0 0 0 2px #f8fafc55; }
.hm-cell.syn { background: var(--syn-color); }
.hm-cell.add { background: var(--add-color); }
.hm-cell.ant { background: var(--ant-color); }
.hm-cell.unk { background: var(--unk-color); }
.hm-cell.none {
    background: #1e293b;
    color: #475569;
    cursor: default;
    border-style: dashed;
    border-color: #334155;
}
.hm-cell.none:hover { transform: none; box-shadow: none; }
.hm-cell .tier { font-weight: 700; font-size: 0.65rem; opacity: 0.9; }
.hm-cell.t1 { border-color: #f8fafc; }
.hm-cell.t2 { border-color: #f8fafc66; border-style: solid; }
.hm-cell.t2b { border-color: #c4b5fd; border-style: dashed; }  /* model-predicted */
.hm-cell.t3 { border-color: #f8fafc33; border-style: dotted; }

.hm-legend-swatch { width: 14px; height: 14px; border-radius: 3px; display: inline-block; }

/* Table rows */
.row-link { cursor: pointer; }
.row-link:hover { background: #1e293b; }

/* Citation chips */
.cite-chip {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    margin: 0.1rem 0.15rem 0.1rem 0;
    border-radius: 9999px;
    background: #1e293b;
    border: 1px solid #334155;
    font-size: 0.72rem;
    color: #93c5fd;
    text-decoration: none;
}
.cite-chip:hover { background: #334155; color: #bfdbfe; }

/* Protocol parameter key/value list */
.kv-key { color: #94a3b8; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; }
.kv-val { color: #e2e8f0; font-size: 0.9rem; margin-bottom: 0.4rem; }
