.gik25-archistar-visualization {
    --gik25-widget-accent: #9f2d2d;
    --gik25-widget-accent-strong: #7f2424;
    --gik25-widget-border: rgba(45, 38, 34, .16);
    --gik25-widget-muted: #665f5a;
    --gik25-widget-ink: #241f1c;
    --gik25-widget-surface: #fff;
    display: grid;
    gap: .9rem;
    max-width: 1180px;
    margin: 1.35rem auto 1.55rem;
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid rgba(45, 38, 34, .14);
    border-radius: clamp(16px, 2vw, 22px);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--gik25-widget-accent) 3%, #fff), #fff 44%);
    box-shadow: 0 12px 34px rgba(45, 38, 34, .055);
}

.gik25-archistar-visualization__header {
    display: grid;
    gap: .34rem;
    max-width: 61rem;
}

.gik25-archistar-visualization__eyebrow {
    color: var(--gik25-widget-accent);
    font-size: .71rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.gik25-archistar-visualization__header h2,
.gik25-archistar-visualization__header p { margin: 0; }

.gik25-archistar-visualization__header h2 {
    color: var(--gik25-widget-ink);
    font-size: clamp(1.35rem, 2.25vw, 1.9rem);
    line-height: 1.12;
    letter-spacing: -.018em;
}

.gik25-archistar-visualization__header p {
    max-width: 58rem;
    color: var(--gik25-widget-muted);
    font-size: .95rem;
    line-height: 1.55;
}

.gik25-archistar-visualization__views { display: grid; }

.gik25-archistar-visualization__view {
    overflow: visible;
    border: 0;
    border-top: 1px solid rgba(45, 38, 34, .12);
    border-radius: 0;
    background: transparent;
}

.gik25-archistar-visualization__view > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9rem;
    padding: .78rem 0;
    cursor: pointer;
    list-style: none;
}

.gik25-archistar-visualization__view > summary::-webkit-details-marker { display: none; }
.gik25-archistar-visualization__view > summary span {
    color: var(--gik25-widget-ink);
    font-size: 1rem;
    font-weight: 850;
}
.gik25-archistar-visualization__view > summary small {
    color: #766e68;
    font-size: .77rem;
    font-weight: 720;
    text-align: right;
}
.gik25-archistar-visualization__panel { padding: 0 0 .9rem; border: 0; }

.gik25-archistar-relation-overview {
    display: grid;
    gap: .45rem;
    padding: clamp(.75rem, 1.4vw, 1rem);
    border: 1px solid rgba(45, 38, 34, .11);
    border-radius: 15px;
    background: rgba(255, 255, 255, .72);
}

.gik25-archistar-relation-overview__copy {
    display: grid;
    gap: .12rem;
    max-width: 55rem;
}

.gik25-archistar-relation-overview__copy strong {
    color: var(--gik25-widget-ink);
    font-size: .92rem;
}

.gik25-archistar-relation-overview__copy p {
    margin: 0;
    color: var(--gik25-widget-muted);
    font-size: .82rem;
    line-height: 1.45;
}

.gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__shell { display: block; }
.gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__canvas {
    min-height: 23rem;
    height: clamp(23rem, 42vw, 28rem);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__canvas svg {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 28rem;
    margin: 0 auto;
}
.gik25-archistar-visualization[data-gik25-selection-key] gik25-relation-graph[data-content-fitted="true"] .gik25-relation-graph__canvas svg {
    overflow: visible;
}
.gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__inspector { display: none; }
.gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__edges line {
    stroke: rgba(159, 45, 45, .28);
    stroke-width: 2.2;
}
.gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__node text {
    font-size: 15px;
    font-weight: 760;
}
.gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__node circle {
    transition: stroke-width .16s ease, transform .16s ease, fill .16s ease;
}
.gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__node:hover circle,
.gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__node:focus circle {
    stroke-width: 4;
}
.gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__node[data-widget-selection-state="active"]:not(.is-focus) circle {
    fill: color-mix(in srgb, var(--gik25-widget-accent) 12%, #fff);
    stroke-width: 4;
}

.gik25-archistar-relation-guide {
    display: grid;
    gap: .75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(45, 38, 34, .12);
}

.gik25-archistar-relation-guide__header {
    display: grid;
    gap: .22rem;
    max-width: 58rem;
}

.gik25-archistar-relation-guide__header h3,
.gik25-archistar-relation-guide__header p,
.gik25-archistar-relation-guide__item h4,
.gik25-archistar-relation-guide__reason,
.gik25-archistar-relation-guide__profile-summary,
.gik25-archistar-relation-guide__evidence p { margin: 0; }

.gik25-archistar-relation-guide__eyebrow {
    color: var(--gik25-widget-accent);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .085em;
    text-transform: uppercase;
}

.gik25-archistar-relation-guide__header h3 {
    color: var(--gik25-widget-ink);
    font-size: clamp(1.02rem, 1.7vw, 1.25rem);
    line-height: 1.25;
}

.gik25-archistar-relation-guide__header p,
.gik25-archistar-relation-guide__reason,
.gik25-archistar-relation-guide__profile-summary,
.gik25-archistar-relation-guide__evidence p {
    color: var(--gik25-widget-muted);
    font-size: .86rem;
    line-height: 1.55;
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    -webkit-line-clamp: unset;
}

.gik25-archistar-relation-guide__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gik25-archistar-relation-guide__item {
    display: grid;
    align-content: start;
    gap: .62rem;
    min-width: 0;
    padding: clamp(.85rem, 1.6vw, 1.1rem);
    border: 1px solid rgba(45, 38, 34, .12);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(45, 38, 34, .035);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.gik25-archistar-relation-guide__item:hover {
    border-color: rgba(159, 45, 45, .3);
    box-shadow: 0 10px 24px rgba(45, 38, 34, .065);
    transform: translateY(-1px);
}

.gik25-archistar-relation-guide__item[data-gik25-selection-target-state="active"] {
    border-color: color-mix(in srgb, var(--gik25-widget-accent) 46%, transparent);
    box-shadow: inset 4px 0 0 var(--gik25-widget-accent), 0 10px 24px rgba(45, 38, 34, .06);
}

.gik25-archistar-relation-guide__heading {
    display: grid;
    gap: .2rem;
}

.gik25-archistar-relation-guide__type {
    color: var(--gik25-widget-accent);
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.gik25-archistar-relation-guide__item h4 {
    color: var(--gik25-widget-ink);
    font-size: 1.03rem;
    line-height: 1.25;
}

.gik25-archistar-relation-guide__evidence {
    display: grid;
    gap: .18rem;
    padding: .62rem .7rem;
    border-left: 3px solid color-mix(in srgb, var(--gik25-widget-accent) 62%, transparent);
    border-radius: 0 8px 8px 0;
    background: color-mix(in srgb, var(--gik25-widget-accent) 5%, #fff);
}

.gik25-archistar-relation-guide__evidence > span {
    color: #514944;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.gik25-archistar-relation-guide__reason--muted { font-style: italic; }

.gik25-archistar-relation-guide__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .65rem;
    margin-top: auto;
    padding-top: .1rem;
}

.gik25-archistar-relation-guide__actions button,
.gik25-archistar-relation-guide__actions a,
.gik25-archistar-timeline-toolbar button {
    font: inherit;
    font-size: .79rem;
    font-weight: 780;
}

.gik25-archistar-relation-guide__actions button {
    padding: .42rem .66rem;
    border: 1px solid rgba(159, 45, 45, .34);
    border-radius: 999px;
    background: #fff;
    color: var(--gik25-widget-accent-strong);
    cursor: pointer;
}

.gik25-archistar-relation-guide__actions button:hover,
.gik25-archistar-relation-guide__actions button:focus-visible {
    border-color: var(--gik25-widget-accent);
    background: color-mix(in srgb, var(--gik25-widget-accent) 7%, #fff);
}

.gik25-archistar-relation-guide__actions a {
    color: var(--gik25-widget-accent-strong);
    text-underline-offset: .2em;
}

.gik25-archistar-visualization__selection-controls,
.gik25-archistar-timeline-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem .8rem;
    margin-top: .18rem;
}

.gik25-archistar-timeline-toolbar {
    margin-bottom: .75rem;
    padding-bottom: .68rem;
    border-bottom: 1px solid rgba(45, 38, 34, .1);
}

.gik25-archistar-visualization__selection-status {
    color: #4d4641;
    font-size: .81rem;
    font-weight: 700;
}
.gik25-archistar-visualization__selection-status[data-gik25-selection-status-state="active"] { color: var(--gik25-widget-accent-strong); }
.gik25-archistar-timeline-toolbar__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    justify-content: flex-end;
}

.gik25-archistar-visualization__selection-controls button,
.gik25-archistar-timeline-toolbar button {
    padding: .36rem .58rem;
    border: 1px solid rgba(159, 45, 45, .34);
    border-radius: 999px;
    background: #fff;
    color: var(--gik25-widget-accent);
    cursor: pointer;
    font: inherit;
    font-size: .77rem;
    font-weight: 760;
}

.gik25-archistar-visualization__selection-controls button:hover:not(:disabled),
.gik25-archistar-timeline-toolbar button:hover:not(:disabled) {
    border-color: var(--gik25-widget-accent);
    background: color-mix(in srgb, var(--gik25-widget-accent) 7%, #fff);
}

.gik25-archistar-timeline-toolbar__compare:disabled,
.gik25-archistar-timeline-toolbar__focus[data-gik25-selection-target-state="active"] { display: none; }

@media (max-width: 760px) {
    .gik25-archistar-relation-guide__list { grid-template-columns: minmax(0, 1fr); }
    .gik25-archistar-timeline-toolbar { align-items: flex-start; flex-direction: column; }
    .gik25-archistar-timeline-toolbar__actions { justify-content: flex-start; }
}

@media (max-width: 680px) {
    .gik25-archistar-visualization {
        margin-block: 1rem 1.25rem;
        padding: .82rem;
        border-radius: 14px;
    }
    .gik25-archistar-visualization__view > summary {
        align-items: flex-start;
        flex-direction: column;
        gap: .15rem;
    }
    .gik25-archistar-visualization__view > summary small { text-align: left; }
    .gik25-archistar-relation-overview { padding: .65rem; }
    .gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__canvas {
        min-height: 20rem;
        height: 22rem;
        overflow-x: auto;
    }
    .gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__node text { font-size: 13.5px; }
    .gik25-archistar-relation-guide__item { padding: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
    .gik25-archistar-relation-guide__item,
    .gik25-archistar-visualization[data-gik25-selection-key] .gik25-relation-graph__node circle {
        transition: none;
    }
}

/* The profile directory is part of the visualization surface, not a second card. */
.gik25-archistar-visualization > .gik25-collection-placement {
    margin: .15rem 0 0;
    min-width: 0;
}

.gik25-archistar-visualization > .gik25-collection-placement > .gik25-collection-cluster {
    margin: 0;
}

.gik25-archistar-visualization > .gik25-collection-placement .gik25-collection-cluster__shell {
    overflow: visible;
    padding: 1.15rem 0 0;
    border: 0;
    border-top: 1px solid rgba(45, 38, 34, .12);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.gik25-archistar-visualization > .gik25-collection-placement .gik25-collection-cluster.is-smart-collapsed .gik25-collection-cluster__shell {
    overflow: visible;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.gik25-archistar-visualization > .gik25-collection-placement [data-gik25-smart-preview] {
    margin: 0;
    padding: .9rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

/* The runtime integrates the profile directory as the third disclosure row. */
.gik25-archistar-visualization > .gik25-collection-cluster,
.gik25-archistar-visualization > .gik25-collection-cluster[data-gik25-smart-template].is-smart-collapsed {
    margin: -.9rem 0 0 !important;
    min-width: 0;
}

.gik25-archistar-visualization > .gik25-collection-cluster .gik25-collection-cluster__shell {
    overflow: visible;
    padding: 0;
    border: 0;
    border-top: 1px solid rgba(45, 38, 34, .12);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.gik25-archistar-visualization > .gik25-collection-cluster [data-gik25-smart-preview] {
    align-items: center !important;
    display: flex !important;
    gap: .9rem !important;
    justify-content: space-between !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: .9rem 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gik25-archistar-visualization > .gik25-collection-cluster .gik25-collection-cluster__smart-inline-copy {
    align-items: baseline !important;
    display: flex !important;
    flex: 1 1 auto;
    gap: .65rem !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.gik25-archistar-visualization > .gik25-collection-cluster .gik25-collection-cluster__smart-inline-eyebrow,
.gik25-archistar-visualization > .gik25-collection-cluster .gik25-collection-cluster__smart-inline-avatars {
    display: none !important;
}

.gik25-archistar-visualization > .gik25-collection-cluster .gik25-collection-cluster__smart-inline-title {
    color: var(--gik25-widget-ink);
    font-size: 1rem !important;
    line-height: 1.25;
}

.gik25-archistar-visualization > .gik25-collection-cluster .gik25-collection-cluster__smart-inline-meta {
    color: #766e68;
    font-size: .77rem !important;
    white-space: nowrap;
}

.gik25-archistar-visualization > .gik25-collection-cluster .gik25-collection-cluster__smart-inline-teaser {
    align-items: center !important;
    display: flex !important;
    flex: 0 0 auto;
    height: auto !important;
    min-height: 0 !important;
}

.gik25-archistar-visualization > .gik25-collection-cluster .gik25-collection-cluster__smart-inline-cta {
    color: var(--gik25-widget-accent-strong);
    font-size: .79rem;
    font-weight: 780;
    white-space: nowrap;
}

@media (max-width: 680px) {
    .gik25-archistar-visualization > .gik25-collection-cluster [data-gik25-smart-preview],
    .gik25-archistar-visualization > .gik25-collection-cluster .gik25-collection-cluster__smart-inline-copy {
        align-items: flex-start;
        flex-direction: column;
        gap: .18rem;
    }
}
