gik25-relation-graph[data-graph-presentation="editorial-network"] {
    display: block;
    min-width: 0;
}

.gik25-editorial-network-summary {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none;
    appearance: none;
}

.gik25-editorial-network-summary:focus-visible {
    outline: 2px solid color-mix(in srgb, #9f2d2d 58%, transparent);
    outline-offset: 3px;
}

.gik25-relation-graph__fallback {
    padding: 1rem;
    border: 1px solid color-mix(in srgb, currentColor 13%, transparent);
    border-radius: 1rem;
    background: #fff;
}

.gik25-relation-graph__fallback[hidden] { display: none !important; }

.gik25-relation-graph__fallback-title {
    margin: 0 0 .75rem;
    font-size: 1rem;
}

.gik25-relation-graph__fallback-list {
    display: grid;
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gik25-relation-graph__fallback-button {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: .55rem;
    width: 100%;
    padding: .7rem .8rem;
    border: 1px solid color-mix(in srgb, currentColor 11%, transparent);
    border-radius: .75rem;
    background: #fff;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.gik25-relation-graph__fallback-button span {
    color: color-mix(in srgb, currentColor 62%, transparent);
    font-size: .72rem;
    font-weight: 700;
    text-align: center;
}

.gik25-editorial-network {
    --gik25-editorial-network-border: color-mix(in srgb, currentColor 13%, transparent);
    --gik25-editorial-network-muted: color-mix(in srgb, currentColor 68%, transparent);
    display: grid;
    gap: .75rem;
    min-width: 0;
}

.gik25-editorial-network__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .65rem 1rem;
}

.gik25-editorial-network__legend {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .85rem;
    color: var(--gik25-editorial-network-muted);
    font-size: .76rem;
    font-weight: 700;
}

.gik25-editorial-network__legend span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.gik25-editorial-network__legend i,
.gik25-editorial-network__dot {
    width: .58rem;
    height: .58rem;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #a68a78;
}

.gik25-editorial-network__legend .is-collaboration,
.gik25-editorial-network__dot.is-collaboration { background: #6c8fd5; }
.gik25-editorial-network__legend .is-influence,
.gik25-editorial-network__dot.is-influence { background: #d79a3d; }
.gik25-editorial-network__legend .is-affinity,
.gik25-editorial-network__dot.is-affinity { background: #66a37a; }
.gik25-editorial-network__legend .is-context,
.gik25-editorial-network__dot.is-context { background: #a68a78; }

.gik25-editorial-network__toolbar button {
    padding: .44rem .72rem;
    border: 1px solid var(--gik25-editorial-network-border);
    border-radius: 999px;
    background: #fff;
    color: inherit;
    font: inherit;
    font-size: .76rem;
    font-weight: 760;
    cursor: pointer;
}

.gik25-editorial-network__toolbar button:focus-visible,
.gik25-editorial-network-node:focus-within {
    outline: 2px solid color-mix(in srgb, #9f2d2d 62%, transparent);
    outline-offset: 3px;
}

.gik25-editorial-network__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem);
    min-height: 34rem;
    overflow: hidden;
    border: 1px solid var(--gik25-editorial-network-border);
    border-radius: 1.05rem;
    background:
        linear-gradient(90deg, rgba(159, 45, 45, .035), transparent 34%),
        linear-gradient(145deg, #fff, #fbfaf8);
}

.gik25-editorial-network__canvas {
    position: relative;
    min-width: 0;
    min-height: 34rem;
    overflow: hidden;
    border-right: 1px solid var(--gik25-editorial-network-border);
}

.gik25-editorial-network__canvas canvas,
.gik25-editorial-network__canvas svg {
    display: block;
}

.gik25-editorial-network__inspector {
    align-self: stretch;
    padding: clamp(1rem, 2vw, 1.35rem);
    background: rgba(255, 255, 255, .9);
    backdrop-filter: blur(14px);
}

.gik25-editorial-network__eyebrow {
    display: block;
    margin-bottom: .38rem;
    color: #9f2d2d;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gik25-editorial-network__inspector h3 {
    margin: 0;
    font-size: clamp(1.22rem, 1.8vw, 1.55rem);
    line-height: 1.08;
}

.gik25-editorial-network__inspector > p {
    margin: .68rem 0 0;
    color: var(--gik25-editorial-network-muted);
    font-size: .86rem;
    line-height: 1.52;
}

.gik25-editorial-network__inspector ul {
    display: grid;
    gap: .68rem;
    margin: 1.05rem 0 0;
    padding: 0;
    list-style: none;
}

.gik25-editorial-network__inspector li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .52rem;
    align-items: start;
}

.gik25-editorial-network__inspector li strong {
    display: block;
    font-size: .81rem;
}

.gik25-editorial-network__inspector li p {
    margin: .18rem 0 0;
    color: var(--gik25-editorial-network-muted);
    font-size: .75rem;
    line-height: 1.4;
}

.gik25-editorial-network__inspector a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: 1.05rem;
    color: #8c2525;
    font-size: .82rem;
    font-weight: 800;
    text-underline-offset: .18em;
}

.gik25-editorial-network-node {
    box-sizing: border-box;
    display: grid;
    justify-items: center;
    gap: .4rem;
    width: 116px;
    color: #241f1c;
    font-family: inherit;
    text-align: center;
    cursor: pointer;
    user-select: none;
}

.gik25-editorial-network-node__avatar {
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    overflow: hidden;
    border: 3px solid #fff;
    border-radius: 50%;
    background: linear-gradient(145deg, #d8cbc2, #aa8e7d);
    color: #fff;
    font-size: 1rem;
    font-weight: 850;
    box-shadow: 0 0 0 2px rgba(159, 45, 45, .44), 0 7px 18px rgba(42, 31, 25, .14);
    transition: box-shadow .16s ease, transform .16s ease;
}

.gik25-editorial-network-node:hover .gik25-editorial-network-node__avatar,
.gik25-editorial-network-node.is-selected .gik25-editorial-network-node__avatar {
    box-shadow: 0 0 0 3px #9f2d2d, 0 10px 24px rgba(42, 31, 25, .2);
    transform: translateY(-1px);
}

.gik25-editorial-network-node__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gik25-editorial-network-node strong {
    max-width: 100%;
    font-size: .81rem;
    line-height: 1.18;
    text-wrap: balance;
}

.gik25-editorial-network-node.is-selected strong {
    color: #7f2424;
    font-weight: 850;
}

.gik25-editorial-network.is-compact-list {
    display: none;
}

@media (max-width: 820px) {
    .gik25-editorial-network__body {
        grid-template-columns: minmax(0, 1fr);
        min-height: 34rem;
    }
    .gik25-editorial-network__canvas {
        min-height: 26rem;
        border-right: 0;
        border-bottom: 1px solid var(--gik25-editorial-network-border);
    }
    .gik25-editorial-network__inspector { min-height: 9rem; }
}

@media (max-width: 680px) {
    .gik25-relation-graph__fallback-button {
        grid-template-columns: minmax(0, 1fr);
    }
    .gik25-relation-graph__fallback-button span { text-align: left; }
    .gik25-editorial-network__legend { gap: .38rem .65rem; font-size: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
    .gik25-editorial-network-node__avatar { transition: none; }
}
