.review-tour { container-type:inline-size; min-width:0; font:14px/1.55 system-ui; overflow-wrap:anywhere }
.rt-question { color:var(--blue); font-weight:550 }
.rt-block { margin:1.2rem 0 }
.rt-block h3 { font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; color:var(--dim); margin:0 0 .6rem }
.rt-block p { margin:0 }
.rt-beforeAfter { display:grid; grid-template-columns:1fr 1fr; gap:.6rem }
.rt-beforeAfter > div { padding:.8rem; border-radius:6px; background:var(--rose) }
.rt-beforeAfter > div+div { background:var(--mint) }
.rt-contract { border-left:3px solid var(--blue); padding:.85rem; background:var(--bg) }
.rt-questions ul { padding-left:1.1rem }
.rt-questions li { margin:.55rem 0 }
.rt-evidence-link { display:flex; flex-direction:column; text-align:left; width:100%; padding:.7rem .8rem; gap:.25rem; margin:.5rem 0; border:1px solid var(--line); background:var(--bg); color:var(--fg); border-radius:6px; cursor:pointer }
.rt-evidence-link strong { color:var(--blue) }
.rt-evidence-link span { font-size:.82rem }
.rt-evidence-link small { color:var(--dim); font:11px ui-monospace,monospace }
@container(max-width:420px) { .rt-beforeAfter { grid-template-columns:1fr } }
.review-tour .rt-section { padding:1.8rem 0; margin:0; border-bottom:1px solid var(--line) }
.review-tour .rt-section h2 { font-size:1.45rem; font-weight:650; line-height:1.25; letter-spacing:-.025em; border:0; padding:0; margin:0 0 .8rem }
.review-tour .rt-section > * { max-width:70ch }
.rt-question { color:var(--dim); font-weight:400; font-size:1em; margin:0 0 1.5rem }
.rt-block { margin:1.3rem 0 }
.rt-block h3 { font-size:.66rem; font-weight:650; letter-spacing:.09em; line-height:1.5 }
.rt-block p { margin:0; white-space:pre-line }
.review-tour .rt-section a { color:var(--blue); text-decoration:underline; text-underline-offset:.15em }
.rt-section code { font: .87em ui-monospace,SFMono-Regular,monospace; background:color-mix(in srgb,var(--fg) 6%,transparent); border-radius:3px; padding:.1em .3em; overflow-wrap:anywhere }
.rt-section pre { overflow:auto; padding:.8rem; background:var(--bg); border:1px solid var(--line); border-radius:5px }
.rt-beforeAfter { gap:0; border:1px solid var(--line); border-radius:7px; overflow:hidden }
.rt-beforeAfter > div { padding:1rem; border-radius:0; background:color-mix(in srgb,var(--dim) 5%,transparent) }
.rt-beforeAfter > div+div { background:var(--mint); border-left:1px solid var(--line) }
.rt-contract { border-left:2px solid #7fae9c; background:var(--mint); padding:1rem 1.1rem }
.rt-contract h3 { color:var(--fg) }
.rt-questions { padding:1rem 0 0; border-top:1px solid var(--line) }
.rt-questions li { margin:.7rem 0 }
.rt-evidence-link { font:inherit; gap:.2rem; padding:.7rem 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; margin:0; line-height:1.5 }
.rt-evidence-link strong { font-size:.88rem; font-weight:550; color:var(--fg) }
.rt-evidence-link span { font-size:.8rem; color:var(--dim) }
.rt-evidence-link small { font-size:.65rem; color:var(--blue) }
.rt-evidence-link:hover strong { color:var(--blue) }
.rt-more-code > summary { padding:.8rem 0; cursor:pointer; color:var(--dim); font-size:.78rem }
.rt-example { background:var(--bg); border:1px solid var(--line); border-radius:7px; padding:1rem }
.rt-example .rt-outcome { margin-top:.7rem; padding-top:.7rem; border-top:1px solid var(--line) }
.rt-flow-steps { list-style:none; padding:0; margin:0; counter-reset:step }
.rt-flow-steps li { position:relative; margin:0 0 0 .7rem; padding:0 0 1rem 1.6rem; border-left:1px solid var(--line); counter-increment:step }
.rt-flow-steps li:last-child { border:0; padding-bottom:0 }
.rt-flow-steps li::before { content:counter(step); position:absolute; left:-.65rem; top:0; width:1.3rem; height:1.3rem; border:1px solid var(--line); border-radius:50%; background:var(--panel); color:var(--dim); font-size:.65rem; text-align:center; line-height:1.3rem }
.rt-flow-steps strong { font-size:.85rem; font-weight:550 }
.rt-flow-steps p { font-size:.82rem; color:var(--dim); margin-top:.2rem }
@container(max-width:340px) { .rt-beforeAfter { grid-template-columns:1fr } .rt-beforeAfter > div+div { border-left:0; border-top:1px solid var(--line) } }
@container(min-width:341px) { .rt-beforeAfter { grid-template-columns:1fr 1fr } }
.review-tour .rt-section { padding:1.1rem 0 }
.rt-question { margin:0 0 .85rem }
.rt-block { margin:.85rem 0 }
.rt-contract, .rt-example, .rt-beforeAfter > div { padding:.75rem .85rem }
.rt-evidence-link { padding:.5rem 0 }
.rt-flow-steps li { padding-bottom:.65rem }
.rt-more-code > summary { padding:.5rem 0 }
.rt-questions { padding-top:.6rem }
.rt-diagram { margin:0; min-width:0 }
.rt-diagram iframe { width:100%; height:240px; border:1px solid var(--line); border-radius:5px; background:var(--bg) }
.rt-diagram figcaption { margin:.5rem 0; color:var(--dim); font-size:.85em }
.rt-diagram summary, .rt-controls > summary { cursor:pointer; color:var(--dim); font-size:.8em; padding:.5rem 0 }
.rt-controls textarea { display:block; box-sizing:border-box; width:100%; min-height:180px; margin:.5rem 0; color:var(--fg); background:var(--bg); font:12px/1.5 ui-monospace,monospace }
.rt-controls button { margin:0 .4rem .4rem 0; padding:.3rem .6rem; cursor:pointer }
.rt-controls label { display:block; font-size:.85em }
.rt-table { overflow-x:auto; border:1px solid var(--line); border-radius:5px }
.rt-table table { width:100%; border-collapse:collapse; font-size:.88em; line-height:1.45 }
.rt-table th, .rt-table td { text-align:left; vertical-align:top; padding:.5rem .65rem; border-bottom:1px solid var(--line); white-space:pre-line; min-width:8ch }
.rt-table th { background:var(--bg); font-weight:600 }
.rt-table tbody tr:last-child td { border-bottom:0 }
.rt-table th+th, .rt-table td+td { border-left:1px solid var(--line) }
.review-tour .rt-status { color: var(--dim); font-size: .85em; }
.review-tour .rt-status[data-loading]::before { content: ''; display: inline-block; width: .75em; height: .75em; margin-right: .5em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: rt-loading .8s linear infinite; }
@keyframes rt-loading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .review-tour .rt-status[data-loading]::before { animation: none; } }
