/* ==========================================================================
   EVE v58 - card research / maintenance prototype
   ========================================================================== */

#modal-content.research-modal {
    width: min(1460px, calc(100vw - 48px));
    max-width: 1460px;
}

#modal-content.research-modal #modal-body {
    overflow: hidden;
}

.eve-module-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.eve-module-summary > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 54px;
    padding: 10px 14px;
    background: rgba(9, 25, 36, .78);
    border: 1px solid rgba(111, 182, 211, .20);
    border-radius: 10px;
}

.eve-module-summary span { color: #8facba; font-size: 11px; font-weight: 800; }
.eve-module-summary strong { color: #effaff; font-size: 20px; }

.eve-upgrade-tree-scroll {
    max-height: 590px;
    overflow: auto;
    padding: 0 6px 18px 0;
    scrollbar-gutter: stable both-edges;
    overscroll-behavior: contain;
}

.eve-upgrade-tree-canvas {
    min-width: 1060px;
    padding: 2px 4px 16px;
}

.eve-upgrade-link-head,
.eve-upgrade-row {
    display: grid;
    grid-template-columns: 150px repeat(5, minmax(150px, 1fr));
    gap: 12px;
}

.eve-upgrade-link-head {
    position: sticky;
    top: 0;
    z-index: 8;
    align-items: center;
    padding: 9px 10px;
    background: rgba(6, 18, 27, .96);
    border: 1px solid rgba(104, 168, 194, .20);
    border-radius: 10px;
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.eve-upgrade-link-head span { color: #6f91a1; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.eve-upgrade-link-head strong { color: #cfeaf4; font-size: 12px; text-align: center; }

.eve-upgrade-section { margin-top: 14px; }
.eve-upgrade-section > header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 0 0 8px;
    padding: 10px 13px;
    background: rgba(34, 75, 94, .22);
    border-left: 3px solid rgba(94, 194, 228, .62);
}
.eve-upgrade-section > header strong { color: #edfaff; font-size: 14px; letter-spacing: .06em; }
.eve-upgrade-section > header small { color: #88a5b3; font-size: 10px; }
.eve-upgrade-section.is-passive > header { border-left-color: rgba(106, 215, 177, .58); }

.eve-upgrade-row {
    align-items: stretch;
    padding: 9px 10px;
    border-bottom: 1px solid rgba(121, 165, 185, .08);
}
.eve-upgrade-row:nth-child(even) { background: rgba(255,255,255,.012); }

.eve-upgrade-row-label {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 140px;
    padding-right: 10px;
}
.eve-upgrade-row-label span { color: #688997; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.eve-upgrade-row-label strong { margin-top: 5px; color: #bfd3dc; font-size: 12px; line-height: 1.35; }

.eve-upgrade-cell {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 8px;
    align-content: start;
    min-height: 140px;
    padding: 4px;
    background: rgba(0, 0, 0, .08);
    border-radius: 9px;
}

.eve-upgrade-card {
    position: relative;
    display: grid;
    grid-template-rows: 102px minmax(38px, auto);
    width: 100%;
    min-width: 0;
    min-height: 140px;
    padding: 0;
    overflow: hidden;
    color: #d7e8ef;
    background: rgba(7, 21, 30, .96);
    border: 1px solid rgba(114, 162, 181, .26);
    border-radius: 10px;
    box-shadow: 0 7px 15px rgba(0,0,0,.22);
    cursor: default;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.eve-upgrade-card-art,
.eve-link-card-art {
    position: relative;
    display: block;
    overflow: hidden;
    background:
        linear-gradient(rgba(80, 130, 151, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(80, 130, 151, .05) 1px, transparent 1px),
        rgba(3, 13, 20, .82);
    background-size: 16px 16px;
}
.eve-upgrade-card-art::after,
.eve-link-card-art::after {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid rgba(113, 173, 198, .10);
    pointer-events: none;
}
.eve-upgrade-card-art img,
.eve-link-card-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.eve-upgrade-card-art img { object-fit: contain; padding: 15px; box-sizing: border-box; }
.eve-upgrade-card-art.is-empty { min-height: 102px; }

.eve-upgrade-card-name {
    display: grid;
    place-items: center;
    padding: 8px 7px;
    color: inherit;
    background: rgba(10, 28, 38, .96);
    font-size: 11px;
    line-height: 1.25;
    text-align: center;
}

.eve-upgrade-card.is-owned {
    color: #c9f2e1;
    border-color: rgba(91, 202, 160, .48);
}
.eve-upgrade-card.is-ready {
    color: #f3fbff;
    cursor: pointer;
    border-color: rgba(92, 205, 241, .88);
    box-shadow: 0 0 0 2px rgba(78, 187, 226, .08), 0 0 20px rgba(58, 170, 212, .22);
}
.eve-upgrade-card.is-ready:hover,
.eve-upgrade-card.is-ready:focus-visible { transform: translateY(-2px); box-shadow: 0 0 26px rgba(58, 170, 212, .34); }
.eve-upgrade-card.is-locked { opacity: .42; filter: grayscale(.45); }

.eve-research-link-track-wrap {
    height: 214px;
    overflow-x: auto;
    overflow-y: hidden;
}
.eve-research-link-track {
    grid-template-columns: repeat(5, 190px);
    gap: 34px;
    height: 100%;
    padding: 16px 28px;
}

.eve-research-link-node.eve-link-stage-card {
    display: grid;
    grid-template-rows: 136px 46px;
    width: 190px;
    height: 182px;
    padding: 0;
    overflow: hidden;
    background: rgba(7, 21, 30, .96);
    border-radius: 12px;
    opacity: 1;
}
.eve-link-stage-card .eve-link-card-art { width: 100%; height: 136px; }
.eve-link-stage-card .eve-link-card-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    padding: 7px 10px;
    background: rgba(8, 25, 35, .96);
}
.eve-link-stage-card .eve-link-card-caption strong { font-size: 13px; }
.eve-link-stage-card .eve-link-card-caption small { margin: 0; max-width: 105px; overflow: hidden; color: #8fa8b3; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.eve-link-stage-card.is-locked { opacity: .43; filter: grayscale(.55); }
.eve-link-stage-card.is-unlocked { border-color: rgba(94, 207, 165, .52); }
.eve-link-stage-card.is-available { cursor: pointer; border-color: rgba(92, 205, 241, .88); box-shadow: 0 0 24px rgba(59, 172, 213, .26); }
.eve-link-stage-card.is-available:hover { transform: translateY(-2px); }

.eve-research-map-node.eve-link-content-card {
    display: grid;
    grid-template-rows: 112px minmax(36px, auto);
    width: 174px;
    min-height: 148px;
    padding: 0;
    overflow: hidden;
    border-radius: 11px;
    opacity: 1;
}
.eve-link-content-card .eve-link-card-art { width: 100%; height: 112px; }
.eve-link-content-card > strong {
    display: grid;
    place-items: center;
    min-height: 36px;
    padding: 7px;
    background: rgba(8, 25, 35, .96);
    font-size: 10px;
    line-height: 1.2;
}
.eve-link-content-card.is-locked { opacity: .40; filter: grayscale(.52); }
.eve-link-content-card.is-unlocked { border-color: rgba(94, 207, 165, .48); }
.eve-link-content-card.is-available { cursor: pointer; border-color: rgba(92, 205, 241, .88); box-shadow: 0 0 20px rgba(59, 172, 213, .22); }

.eve-research-graph-grid {
    grid-template-rows: repeat(var(--graph-rows), 162px);
    row-gap: 16px;
    padding-top: 17px;
    padding-bottom: 17px;
}
.eve-research-map-root { min-height: 92px; align-self: center; }

.eve-research-hover-tooltip {
    position: fixed;
    z-index: 50000;
    width: 330px;
    max-width: calc(100vw - 24px);
    padding: 15px 16px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    color: #d9ebf2;
    background: rgba(3, 14, 22, .985);
    border: 1px solid rgba(104, 190, 222, .48);
    border-radius: 10px;
    box-shadow: 0 18px 46px rgba(0,0,0,.48);
    transform: translateY(4px);
    transition: opacity .12s ease, transform .12s ease, visibility .12s;
}
.eve-research-hover-tooltip.is-visible { visibility: visible; opacity: 1; transform: translateY(0); }
.eve-hover-tooltip-kicker { color: #6fc7df; font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.eve-hover-tooltip-title { display: block; margin-top: 5px; color: #f4fbff; font-size: 17px; }
.eve-research-hover-tooltip p { margin: 9px 0 11px; color: #b9ccd4; font-size: 12px; line-height: 1.55; }
.eve-hover-tooltip-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.eve-hover-tooltip-meta span,
.eve-hover-tooltip-state {
    padding: 5px 7px;
    color: #a9c6d2;
    background: rgba(83, 146, 174, .12);
    border: 1px solid rgba(104, 171, 200, .16);
    border-radius: 6px;
    font-size: 10px;
    font-weight: 800;
}
.eve-hover-tooltip-require { display: grid; grid-template-columns: auto 1fr; gap: 8px; margin-top: 10px; font-size: 10px; }
.eve-hover-tooltip-require span { color: #6f94a5; }
.eve-hover-tooltip-require strong { color: #cfe0e7; }
.eve-hover-tooltip-state { margin-top: 10px; color: #e2f6fc; }

@media (max-width: 900px) {
    .eve-module-summary { grid-template-columns: repeat(2, 1fr); }
    .eve-upgrade-tree-canvas { min-width: 980px; }
}
