.reveal .rag-slide {text-align:left;}
.rag-heading {text-align:center;}
.rag-heading .kicker {font-size:17px;letter-spacing:.2em;margin-bottom:6px;}
.reveal .rag-heading h2 {font-size:48px;line-height:1.2;margin:0 0 12px;}
.reveal .rag-lead {font-size:25px;line-height:1.5;margin:0 0 20px;}
.rag-content {width:1120px;margin:0 auto;}
.flow-label {font-size:21px;font-weight:700;color:var(--teal);line-height:28px;}
.flow-label span {font-size:17px;font-weight:400;color:var(--ink-soft);margin-left:14px;}
.plain-flow {display:grid;grid-template-columns:184px 488px 184px 40px 184px;align-items:center;margin-top:4px;}
.flow-node {height:78px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:12px!important;box-sizing:border-box;}
.flow-node b {font-size:24px;font-weight:700;line-height:1.25;}
.flow-node span,.flow-node small {font-size:17px;line-height:1.45;color:var(--ink-soft);}
.flow-node small {color:var(--teal);font-weight:600;margin-bottom:8px;}
.flow-node span {margin-top:7px;}
.model-node {border:2px solid var(--teal);background:rgba(153,246,228,.27);}
.model-node b {color:var(--teal);}
.flow-arrow {height:2px;background:var(--teal);position:relative;margin:0 7px;}
.flow-arrow::after {content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-right:2px solid var(--teal);border-top:2px solid var(--teal);transform:rotate(45deg);}
.long-arrow span {position:absolute;left:50%;top:-27px;transform:translateX(-50%);font-size:17px;color:var(--ink-soft);background:#eefdf8;padding:0 14px;}
.rag-label-row {display:flex;align-items:center;justify-content:space-between;margin-top:24px;min-height:38px;}
.step-controls {display:flex;gap:10px;}
.step-controls button {font:600 16px "Microsoft YaHei","PingFang SC",sans-serif;border:1px solid var(--line);border-radius:999px;padding:7px 17px;min-height:36px;background:rgba(255,255,255,.78);color:var(--teal);cursor:pointer;box-shadow:0 4px 12px rgba(13,148,136,.08);}
.step-controls #play-steps,.step-controls #next-step {background:linear-gradient(100deg,var(--teal),var(--cyan));color:white;}
.step-controls button:disabled {opacity:.45;cursor:default;}
.step-controls button:focus-visible {outline:3px solid var(--cyan);outline-offset:3px;}
.step-controls [hidden] {display:none!important;}
.rag-flow {height:262px;position:relative;margin-top:4px;}
.rag-flow [data-stage] {transition:opacity .22s ease;}
.rag-flow .stage-pending {opacity:0;visibility:hidden;}
.knowledge-node {position:absolute;left:224px;top:0;width:184px;height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:9px!important;}
.knowledge-node b {font-size:23px;color:var(--teal);}
.knowledge-node span {font-size:15px;color:var(--ink-soft);margin-top:4px;}
.source-label {position:absolute;left:0;top:10px;font-size:17px;line-height:1.5;color:var(--ink-soft);}
.source-label span {display:block;font-size:15px;margin-top:2px;}
.down-arrow {position:absolute;left:315px;top:69px;width:2px;height:31px;background:var(--teal);}
.down-arrow::after {content:"";position:absolute;bottom:0;left:-4px;width:8px;height:8px;border-right:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(45deg);}
.rag-flow .flow-node {position:absolute;top:112px;width:184px;height:116px;}
.question-node {left:0;}.retrieval-node {left:224px;}.context-node {left:448px;}.rag-model-node {left:672px;}.answer-node {left:896px;}
.context-node {background:rgba(153,246,228,.3);border-color:rgba(13,148,136,.5);}
.context-node b {color:var(--cyan);}
.rag-flow .flow-arrow {position:absolute;top:170px;width:26px;margin:0;}
.arrow-1 {left:192px;}.arrow-2 {left:416px;}.arrow-3 {left:640px;}.arrow-4 {left:864px;}
.outside-label {position:absolute;left:224px;top:242px;width:408px;text-align:center;border-top:1px solid rgba(13,148,136,.3);padding-top:6px;font-size:15px;line-height:1.4;color:var(--ink-soft);}
.rag-footer {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line);}
.reveal .rag-footer p {font-size:19px;line-height:1.5;margin:0;color:var(--ink-soft);}
.rag-footer b {color:var(--teal);}
.reveal .rag-footer a {font-size:14px;white-space:nowrap;color:var(--cyan);}
@media(prefers-reduced-motion:reduce){.rag-flow [data-stage]{transition:none;}}
