/* AIRun inherits its layout and theme from the shared product shell. */
.ar-network__stage {
    --diagram-stacked: 0;
    position: relative; display: grid; isolation: isolate;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.2fr) minmax(0, .72fr) minmax(0, 1fr);
    grid-template-rows: 24px repeat(6, 28px) 26px 66px;
    gap: 8px 42px; padding: 24px 28px;
    background: radial-gradient(ellipse at 39% 40%, var(--xp-accent-soft), transparent 48%), linear-gradient(var(--xp-border) 1px, transparent 1px), linear-gradient(90deg, var(--xp-border) 1px, transparent 1px);
    background-size: auto, 38px 38px, 38px 38px;
}
.ar-network__stage::before { content: ''; position: absolute; inset: 0; z-index: -1; background: color-mix(in srgb, var(--xp-surface-strong) 87%, transparent); }
.ar-network__wires { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.ar-network__label { color: var(--xp-muted-2); font-family: var(--ait-font-mono); font-size: 9px; letter-spacing: .1em; align-self: start; }
.ar-network__label--input { grid-area: 1 / 1; }
.ar-network__label--services { grid-area: 1 / 4; }
.ar-network__direct { position: absolute; z-index: 2; top: 13px; left: 60%; padding: 2px 7px; background: var(--xp-surface-strong); color: var(--xp-muted-2); font-family: var(--ait-font-mono); font-size: 9px; white-space: nowrap; }
.ar-node { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; min-width: 0; padding: 14px; border: 1px solid var(--xp-border); border-radius: 12px; background: var(--xp-surface-strong); color: var(--xp-text); font: inherit; text-align: left; cursor: pointer; transition: border-color 180ms, box-shadow 180ms, background 180ms; }
.ar-node:hover, .ar-node.is-active { border-color: var(--xp-accent); box-shadow: 0 0 0 1px var(--xp-accent-soft), 0 10px 24px var(--xp-accent-soft); }
.ar-node:focus-visible { outline: 2px solid var(--xp-accent); outline-offset: 4px; }
.ar-node__icon { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; color: var(--xp-accent); }
.ar-node__icon svg { width: 28px; height: 28px; }
.ar-node__copy { min-width: 0; }
.ar-node__copy strong, .ar-node__copy small { display: block; }
.ar-node__copy strong { font-size: 14px; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
.ar-node__copy small { margin-top: 5px; color: var(--xp-muted); font-size: 10px; line-height: 1.45; }
.ar-node--chat { grid-area: 2 / 1 / 4 / 2; }
.ar-node--schedule { grid-area: 4 / 1 / 6 / 2; }
.ar-node--event { grid-area: 6 / 1 / 8 / 2; }
.ar-node--run { grid-area: 2 / 2 / 8 / 3; justify-self: center; align-self: center; display: flex; flex-direction: column; justify-content: center; gap: 0; width: min(100%, 240px); aspect-ratio: 1; padding: 26px 14px; border-radius: 50%; border-color: var(--xp-border-strong); background: radial-gradient(circle, var(--xp-accent-soft), transparent 70%), var(--xp-surface-strong); text-align: center; box-shadow: 0 0 0 8px color-mix(in srgb, var(--xp-accent) 3%, transparent), 0 0 48px var(--xp-accent-soft); }
.ar-core__orbit { position: absolute; inset: 10px; border: 1px solid var(--xp-border-strong); border-radius: 50%; pointer-events: none; }
.ar-core__orbit::before { content: ''; position: absolute; inset: 8px; border: 1px dashed var(--xp-border); border-radius: 50%; }
.ar-core__orbit i { position: absolute; top: 11%; left: 17%; width: 5px; height: 5px; border-radius: 50%; background: var(--xp-accent); box-shadow: 0 0 8px var(--xp-accent-soft); }
.ar-core__orbit i:nth-child(2) { top: auto; bottom: 8%; left: 71%; width: 4px; height: 4px; }
.ar-core__orbit i:nth-child(3) { top: 59%; left: -2px; width: 4px; height: 4px; }
.ar-core__code { position: relative; color: var(--xp-muted-2); font-family: var(--ait-font-mono); font-size: 8px; letter-spacing: .12em; }
.ar-core__name { position: relative; margin-top: 12px; color: var(--xp-accent); font-size: clamp(28px, 3.1vw, 42px); font-weight: 650; letter-spacing: -.06em; line-height: 1.05; }
.ar-core__task { position: relative; margin-top: 9px; color: var(--xp-text); font-size: 11px; line-height: 1.4; }
.ar-core__checks { position: relative; display: flex; justify-content: center; gap: 7px; margin-top: 17px; color: var(--xp-muted); font-family: var(--ait-font-mono); font-size: 8px; }
.ar-core__checks > span + span::before { content: '·'; margin-right: 7px; color: var(--xp-accent); }
.ar-node--gate { grid-area: 3 / 3 / 7 / 4; align-self: center; flex-direction: column; gap: 8px; padding: 18px 10px; text-align: center; border-color: var(--xp-border-strong); }
.ar-node--gate .ar-node__icon { width: 48px; height: 48px; flex-basis: 48px; }
.ar-node--gate .ar-node__icon svg { width: 44px; height: 44px; }
.ar-node--gate .ar-node__copy strong { font-size: 17px; }
.ar-node--model { grid-area: 2 / 4 / 5 / 5; }
.ar-node--tools { grid-area: 5 / 4 / 8 / 5; }
.ar-node--result { grid-area: 9 / 1 / 10 / 5; gap: 16px; padding: 14px 22px; background: linear-gradient(90deg, var(--xp-accent-soft), transparent 75%), var(--xp-surface-strong); }
.ar-node--result .ar-node__copy { display: flex; align-items: baseline; gap: 18px; }
.ar-node--result .ar-node__copy strong { font-size: 16px; }
.ar-node--result .ar-node__copy small { margin-top: 0; font-size: 12px; }
.ar-result__preview { display: flex; align-items: end; gap: 5px; margin-left: auto; padding: 7px 10px; border: 1px solid var(--xp-border); border-radius: 5px; }
.ar-result__preview i { width: 4px; height: 17px; border-radius: 1px; background: var(--xp-accent); opacity: .5; }
.ar-result__preview i:nth-child(2) { height: 11px; opacity: .75; }
.ar-result__preview i:nth-child(3) { height: 21px; opacity: 1; }
.ar-network .xp-diagram-wire { fill: none; stroke: var(--xp-border-strong); stroke-width: 1.25; }
.ar-network .xp-diagram-wire.is-active { stroke: var(--xp-accent); }
.ar-network .xp-diagram-wire--signal { stroke: var(--xp-accent); stroke-width: 1.8; stroke-dasharray: 2 12; animation: ar-signal 4s linear infinite; opacity: .55; }
.ar-network .xp-diagram-wire--overhead { stroke-dasharray: 4 5; opacity: .55; }
.ar-network .xp-diagram-wire--overhead.xp-diagram-wire--signal { display: none; }
.ar-network .xp-diagram-wire-dot { fill: var(--xp-accent); opacity: .6; }
.ar-network__legend { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 26px; padding: 0 20px 18px; color: var(--xp-muted); font-size: 10px; }
.ar-network__legend > span { display: flex; align-items: center; gap: 8px; }
.ar-network__legend i { width: 22px; border-top: 1px solid var(--xp-accent); }
.ar-network__legend > span:last-child i { border-top-style: dashed; }
.ar-network__readout { min-height: 90px; }
.ar-network__note { padding: 14px 24px; border-top: 1px solid var(--xp-border); color: var(--xp-muted); font-size: 11px; line-height: 1.7; }
.ar-network__note a { color: var(--xp-accent); text-underline-offset: 3px; }
@keyframes ar-signal { to { stroke-dashoffset: -56; } }

/* Section content retains shared panel, typography and spacing tokens. */
.ar-code { color: var(--xp-accent); font-family: var(--ait-font-mono); font-size: 10px; letter-spacing: .08em; line-height: 1.6; }
.ar-step-list { margin: 0; padding: 0; list-style: none; }
.ar-step-list > li { display: grid; grid-template-columns: 70px 1fr; gap: 20px; padding: 26px 0; border-top: 1px solid var(--xp-border); }
.ar-step-list__number { color: var(--xp-accent); font-family: var(--ait-font-mono); font-size: 28px; line-height: 1.4; }
.ar-step-list h3, .ar-scenarios h3 { margin: 0 0 10px; color: var(--xp-text); font-size: 20px; font-weight: 600; letter-spacing: -.025em; }
.ar-step-list p, .ar-scenarios p { margin: 0; max-width: 800px; color: var(--xp-muted); font-size: 14px; line-height: 1.85; }
.ar-scenarios { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.ar-scenarios article { display: flex; flex-direction: column; align-items: start; padding: 28px 0; border-top: 1px solid var(--xp-border); }
.ar-scenarios h3 { margin-top: 16px; }
.ar-scenarios small { margin-top: auto; padding-top: 22px; color: var(--xp-accent); font-size: 11px; }
.ar-section-note { margin: 25px 0 0; padding: 20px 24px; border-left: 2px solid var(--xp-accent); background: var(--xp-accent-soft); color: var(--xp-muted); font-size: 13px; line-height: 1.85; }
.ar-responsibilities { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; }
.ar-responsibilities > div { align-self: stretch; padding: 28px; border: 1px solid var(--xp-border); border-radius: 10px; background: var(--xp-surface); }
.ar-responsibilities ul { display: grid; gap: 12px; margin: 20px 0 0; padding: 0; list-style: none; color: var(--xp-text); font-size: 14px; }
.ar-responsibilities__link { color: var(--xp-accent); font-size: 26px; }
.ar-route { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; margin: 20px 0 28px; padding: 20px 24px; border: 1px solid var(--xp-border); border-radius: 8px; background: var(--xp-accent-soft); }
.ar-route > span { color: var(--xp-muted); font-size: 11px; }
.ar-route p { margin: 0; color: var(--xp-text); font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.ar-route a { margin-left: auto; color: var(--xp-accent); font-size: 11px; text-underline-offset: 4px; }
.ar-disclosures details { border-top: 1px solid var(--xp-border); }
.ar-disclosures summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; color: var(--xp-text); cursor: pointer; list-style: none; font-size: 16px; font-weight: 500; }
.ar-disclosures summary::-webkit-details-marker { display: none; }
.ar-disclosures summary i { color: var(--xp-accent); font-size: 22px; font-weight: 400; font-style: normal; }
.ar-disclosures details[open] summary i { transform: rotate(45deg); }
.ar-disclosures details p { max-width: 850px; margin: 0 0 24px; color: var(--xp-muted); font-size: 14px; line-height: 1.85; }
.ar-route a:focus-visible, .ar-disclosures summary:focus-visible, .ar-network__note a:focus-visible { outline: 2px solid var(--xp-accent); outline-offset: 4px; }

@media (max-width: 1000px) {
    .ar-network__stage { gap: 8px 26px; padding-inline: 20px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.15fr) minmax(0, .65fr) minmax(0, 1fr); }
    .ar-node { padding: 11px; gap: 8px; }
    .ar-node__icon { flex-basis: 26px; width: 26px; height: 26px; }
    .ar-node__copy strong { font-size: 12px; }
    .ar-node__copy small { font-size: 9px; }
    .ar-node--gate { padding: 18px 8px; }
    .ar-core__checks { gap: 4px; font-size: 7px; }
    .ar-core__checks > span + span::before { margin-right: 4px; }
}
@media (max-width: 900px) {
    .ar-network__stage { --diagram-stacked: 1; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: auto 190px auto auto auto; gap: 28px 10px; padding: 24px; }
    .ar-network__label, .ar-network__direct { display: none; }
    .ar-node--chat { grid-area: 1 / 1 / 2 / 3; }
    .ar-node--schedule { grid-area: 1 / 3 / 2 / 5; }
    .ar-node--event { grid-area: 1 / 5 / 2 / 7; }
    .ar-node--chat, .ar-node--schedule, .ar-node--event { flex-direction: column; justify-content: center; gap: 8px; padding: 13px 4px; text-align: center; }
    .ar-node--chat small, .ar-node--schedule small, .ar-node--event small { display: none; }
    .ar-node--chat strong, .ar-node--schedule strong, .ar-node--event strong { font-size: 11px; }
    .ar-node--run { grid-area: 2 / 1 / 3 / 7; width: 190px; height: 190px; padding: 26px 14px; }
    .ar-core__name { font-size: 34px; }
    .ar-core__checks { font-size: 8px; gap: 7px; }
    .ar-core__checks > span + span::before { margin-right: 7px; }
    .ar-node--gate { grid-area: 3 / 1 / 4 / 7; flex-direction: row; justify-self: center; justify-content: center; width: 85%; padding: 14px 18px; text-align: left; }
    .ar-node--gate .ar-node__icon { flex-basis: 36px; width: 36px; height: 36px; }
    .ar-node--gate .ar-node__icon svg { width: 34px; height: 34px; }
    .ar-node--gate small { font-size: 10px; }
    .ar-node--model { grid-area: 4 / 1 / 5 / 4; }
    .ar-node--tools { grid-area: 4 / 4 / 5 / 7; }
    .ar-node--model, .ar-node--tools { flex-direction: column; justify-content: center; gap: 10px; padding: 16px 10px; text-align: center; }
    .ar-node--model strong, .ar-node--tools strong { font-size: 12px; }
    .ar-node--result { grid-area: 5 / 1 / 6 / 7; padding: 16px 14px; }
    .ar-node--result .ar-node__copy { display: block; }
    .ar-node--result .ar-node__copy strong { font-size: 15px; }
    .ar-node--result .ar-node__copy small { margin-top: 5px; font-size: 10px; }
    .ar-result__preview { padding: 5px; }
    .ar-network__legend { padding: 0 16px 18px; gap: 10px 18px; font-size: 9px; }
    .ar-network__note { padding: 14px 18px; }
    .ar-network__readout > small { display: none; }
    .ar-step-list > li { grid-template-columns: 36px 1fr; gap: 14px; padding: 22px 0; }
    .ar-step-list__number { font-size: 22px; }
    .ar-step-list h3, .ar-scenarios h3 { font-size: 18px; }
    .ar-step-list p, .ar-scenarios p { font-size: 13px; }
    .ar-scenarios { grid-template-columns: 1fr; }
    .ar-responsibilities { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .ar-responsibilities > div { padding: 22px; }
    .ar-responsibilities__link { justify-self: center; transform: rotate(90deg); font-size: 24px; }
    .ar-route { padding: 18px; }
    .ar-route a { margin-left: 0; }
    .ar-section-note { padding: 16px 18px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .ar-network .xp-diagram-wire--signal { animation: none; }
    .ar-node { transition: none; }
}

