/* Station requests expose the unattended services behind an ad hoc network. */
.app-tour .tour-stop .body .actions-menu-shot { margin:26px 0; }
.app-tour .actions-menu-shot img { display:block; width:100%; height:auto; border:1px solid #355575; border-radius:7px; }
.app-tour .actions-menu-shot figcaption,.app-tour .actions-visual figcaption { margin:16px 0 0; color:#adbed2; font-size:13px; line-height:1.6; }
.app-tour .tour-stop .body .actions-console { margin:30px 0; padding:28px; border:1px solid #355575; border-radius:16px; background:#101d2f; }
.app-tour .action-console-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.app-tour .action-console-head .action-eyebrow { margin:0 0 9px; color:#8fc5fc; font:11px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.app-tour .action-console-head h4 { margin:0; color:var(--ink); font:700 27px/1.15 var(--display); }
.app-tour .action-example-tag { flex:none; padding:6px 10px; border:1px solid #355575; border-radius:20px; color:#a9bed5; font:10px/1.4 var(--mono); }
.app-tour .actions-air { display:grid; grid-template-columns:130px minmax(0,1fr) 130px; align-items:center; gap:26px; padding:26px 22px; border-radius:11px; background:#0b1625; }
.app-tour .action-station { display:flex; flex-direction:column; align-items:center; position:relative; min-width:0; text-align:center; }
.app-tour .action-radio-ring { display:grid; place-items:center; width:86px; height:86px; margin-bottom:15px; border:1px solid #355575; border-radius:50%; background:#101f31; }
.app-tour .action-radio { width:64px; height:56px; color:#b8dafa; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.app-tour .action-station-peer .action-radio-ring { border-color:var(--brand-accent); background:#12304b; box-shadow:0 0 0 5px #4da3ff0a; }
.app-tour .action-station > strong { margin-bottom:5px; color:var(--ink); font:600 23px/1.2 var(--mono); }
.app-tour .action-station > span { color:#c4d4e6; font-size:13px; line-height:1.5; }
.app-tour .action-station > small { margin-top:6px; color:#8daac7; font-size:11px; line-height:1.5; }
.app-tour .action-traffic { min-width:0; display:flex; flex-direction:column; gap:18px; }
.app-tour .action-leg { min-width:0; }
.app-tour .action-leg-label { display:block; margin:0 0 7px; color:#90b9e0; font:10px/1.4 var(--mono); text-transform:uppercase; letter-spacing:.05em; }
.app-tour .action-leg p { max-width:none; margin:0; padding:11px 14px; border:1px solid #2d5275; border-radius:8px 8px 8px 2px; background:#142e48; color:var(--ink); font:14px/1.6 var(--mono); overflow-wrap:anywhere; }
.app-tour .action-wire { display:block; position:relative; margin:12px 3px 0; height:0; border-top:1.5px solid var(--brand-accent); }
.app-tour .action-wire::after { content:""; position:absolute; right:1px; top:-4.75px; width:8px; height:8px; border-top:1.5px solid var(--brand-accent); border-right:1.5px solid var(--brand-accent); transform:rotate(45deg); }
.app-tour .action-leg-result .action-leg-label { text-align:right; }
.app-tour .action-leg-result p { border-color:#36546d; border-radius:8px 8px 2px 8px; background:#172838; text-align:right; white-space:pre-line; }
.app-tour .action-leg-result .action-wire { border-color:#a9c8e6; }
.app-tour .action-leg-result .action-wire::after { right:auto; left:1px; border-color:#a9c8e6; transform:rotate(-135deg); }
.app-tour .actions-air:not([data-kind="reply"]) .action-leg-result { padding-left:24px; }
.app-tour .actions-air:not([data-kind="reply"]) .action-leg-result .action-wire { display:none; }
.app-tour .actions-air:not([data-kind="reply"]) .action-leg-result p { border-color:#5794c7; background:#183c59; }
.app-tour .action-broadcast { display:none; grid-column:1 / -1; padding-top:4px; text-align:center; }
.app-tour .actions-air[data-kind="broadcast"] .action-leg-result { display:none; }
.app-tour .actions-air[data-kind="broadcast"] .action-broadcast { display:block; }
.app-tour .action-broadcast-label { display:block; margin-bottom:8px; color:#a9d3fc; font:11px/1.5 var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.app-tour .action-broadcast p { width:fit-content; max-width:100%; margin:0 auto; padding:10px 22px; border:1px solid #5794c7; border-radius:8px; background:#183c59; color:var(--ink); font:14px/1.6 var(--mono); }
.app-tour .action-broadcast-fan { display:block; width:100%; height:42px; color:var(--brand-accent); }
.app-tour .action-broadcast-listeners { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.app-tour .action-broadcast-listeners > span { display:flex; align-items:center; justify-content:center; gap:8px; color:#c4d4e6; font-size:12px; line-height:1.4; }
.app-tour .action-broadcast-listeners svg { flex:none; width:24px; height:24px; color:#a9d3fc; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.app-tour .action-result-note { display:flex; align-items:baseline; gap:16px; padding:17px 2px 20px; }
.app-tour .action-selected-name { flex:none; color:#a9d3fc; font:600 14px/1.5 var(--display); }
.app-tour .action-result-note p { max-width:none; margin:0; color:#b9cade; font-size:14px; line-height:1.6; }
.app-tour .action-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; border-top:1px solid #2a415b; padding-top:20px; }
.app-tour .action-choices[hidden] { display:none; }
.app-tour .action-choice-group { min-width:0; }
.app-tour .action-choice-group h5 { margin:0 0 10px; color:#91acc9; font:10px/1.5 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.app-tour .action-choice-group > div { display:grid; gap:5px; }
.app-tour .action-choice-group button { display:flex; align-items:center; gap:11px; width:100%; min-height:44px; padding:9px 11px; border:1px solid transparent; border-radius:7px; background:transparent; color:#c2d2e3; font:14px/1.4 var(--display); text-align:left; cursor:pointer; }
.app-tour .action-choice-group button svg { flex:none; width:21px; height:21px; color:#89afd3; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.app-tour .action-choice-group button:hover { color:var(--ink); border-color:#365474; background:#142a40; }
.app-tour .action-choice-group button[aria-pressed="true"] { color:var(--ink); border-color:var(--brand-accent); background:#1a3c5b; }
.app-tour .action-choice-group button[aria-pressed="true"] svg { color:var(--brand-accent); }
.app-tour .actions-static-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding-top:20px; }
.app-tour .actions-static-list dt { color:var(--ink); font-weight:600; }
.app-tour .actions-static-list dd { margin:8px 0 0; color:#b9cade; font-size:14px; }
.app-tour .actions-network { margin-top:26px; padding:22px; border-left:3px solid var(--brand-accent); background:#10243a; }
.app-tour .actions-network h4 { margin:0 0 18px; font:700 23px/1.25 var(--display); color:var(--ink); }
.app-tour .actions-network-flow { display:flex; align-items:center; gap:14px; margin-bottom:16px; color:#9acbff; }
.app-tour .actions-network-flow > span:not([aria-hidden]) { flex:1; color:var(--ink); font:600 15px/1.4 var(--display); }
.app-tour .actions-network p { max-width:none; margin:0; font-size:15px; line-height:1.7; }
.app-tour .actions-network .actions-related { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:16px; font-size:14px; }
.app-tour .actions-related a { display:inline-flex; align-items:center; min-height:44px; }

@media(max-width:760px) {
  .app-tour .tour-stop .body .actions-console { padding:20px; }
  .app-tour .action-console-head { flex-direction:column; align-items:flex-start; gap:12px; }
  .app-tour .action-console-head h4 { font-size:25px; }
  .app-tour .actions-air { grid-template-columns:1fr 1fr; gap:22px 14px; padding:22px 16px; }
  .app-tour .action-station-local { grid-column:1; grid-row:1; }
  .app-tour .action-station-peer { grid-column:2; grid-row:1; }
  .app-tour .action-radio-ring { width:72px; height:72px; }
  .app-tour .action-radio { width:54px; height:48px; }
  .app-tour .action-station > strong { font-size:20px; }
  .app-tour .action-station > span { font-size:12px; }
  .app-tour .action-station > small { font-size:10px; }
  .app-tour .action-traffic { grid-column:1 / -1; grid-row:2; }
  .app-tour .action-broadcast { grid-row:3; }
  .app-tour .action-broadcast-label { font-size:10px; }
  .app-tour .action-broadcast p { padding:10px 12px; font-size:13px; }
  .app-tour .action-broadcast-listeners > span { flex-direction:column; gap:5px; font-size:11px; }
  .app-tour .action-leg p { font-size:13px; padding:10px; }
  .app-tour .action-result-note { flex-direction:column; gap:6px; padding:18px 0; }
  .app-tour .action-choices { grid-template-columns:1fr; gap:20px; }
  .app-tour .action-choice-group > div { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .app-tour .action-choice-group button { flex-direction:column; justify-content:center; gap:8px; min-height:78px; padding:10px 5px; font-size:12px; text-align:center; }
  .app-tour .actions-static-list { grid-template-columns:1fr; }
  .app-tour .actions-network-flow { flex-direction:column; align-items:flex-start; gap:10px; }
  .app-tour .actions-network-flow > span[aria-hidden] { transform:rotate(90deg); }
}

/* A directed relay carries a conversation to one recipient and can carry a reply. */
.app-tour .tour-stop .body .relay-route-visual { margin:28px 0; }
.app-tour .relay-route-visual > h3 { margin:0 0 20px; color:var(--ink); font:700 27px/1.2 var(--display); }
.app-tour .relay-route-map { display:grid; grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr) 64px minmax(0,1fr); gap:18px 14px; padding:24px; border:1px solid #355575; border-radius:10px; background:var(--panel); }
.app-tour .relay-route-map .relay-direct-path { display:flex; align-items:center; justify-content:center; gap:12px; grid-column:1 / -1; max-width:none; margin:0 0 2px; padding-bottom:18px; border-bottom:1px dashed #50627a; color:#c3cfdf; font-size:14px; line-height:1.5; }
.app-tour .relay-direct-path svg { flex:none; width:44px; height:20px; }
.app-tour .relay-route-station { min-width:0; padding:20px 18px; border:1px solid #355575; border-radius:7px; background:var(--ground); }
.app-tour .relay-route-station .relay-role { margin:0 0 8px; color:#a9ccef; font:11px/1.5 var(--mono); }
.app-tour .relay-route-station h4 { margin:0 0 16px; color:var(--ink); font:700 23px/1.2 var(--display); }
.app-tour .relay-route-station p { margin:0; color:#c3d1e2; font-size:15px; line-height:1.6; }
.app-tour .relay-route-station strong { color:var(--ink); }
.app-tour .relay-route-station .relay-example-message { margin-top:18px; padding:12px; border:1px solid #386895; border-radius:6px; background:#193754; color:var(--ink); }
.app-tour .relay-route-station .relay-route-note { margin-top:18px; padding-top:12px; border-top:1px solid #355575; color:#b8d9f8; font-size:14px; }
.app-tour .relay-route-middle { border-color:var(--brand-accent); background:#10243a; }
.app-tour .relay-route-hop { display:flex; flex-direction:column; justify-content:center; gap:24px; min-width:0; }
.app-tour .relay-route-hop > div { display:flex; flex-direction:column; gap:12px; }
.app-tour .relay-route-hop > div > span:not(.relay-path-line) { color:#b8d9f8; font:11px/1.5 var(--mono); text-align:center; }
.app-tour .relay-path-line { position:relative; display:block; height:0; margin-block:5px; border-top:2px solid var(--brand-accent); }
.app-tour .relay-path-line::after { content:""; position:absolute; right:1px; top:-5px; width:8px; height:8px; border-top:2px solid var(--brand-accent); border-right:2px solid var(--brand-accent); transform:rotate(45deg); }
.app-tour .relay-reply .relay-path-line { border-color:#9acbff; }
.app-tour .relay-reply .relay-path-line::after { right:auto; left:1px; border-color:#9acbff; transform:rotate(-135deg); }
.app-tour .relay-route-map .relay-route-takeaway { grid-column:1 / -1; max-width:none; margin:2px 0 0; color:#bfcede; font-size:14px; line-height:1.6; }
.app-tour .relay-route-takeaway strong { color:var(--ink); }
.app-tour .relay-route-visual figcaption { margin:12px 0 0; color:#b9c9dc; font-size:13px; line-height:1.6; }
@media(max-width:800px) {
  .app-tour .relay-route-map { grid-template-columns:minmax(0,1fr); padding:20px; gap:16px; }
  .app-tour .relay-route-map .relay-direct-path { justify-content:flex-start; }
  .app-tour .relay-route-hop { flex-direction:row; gap:32px; }
  .app-tour .relay-route-hop > div { flex-direction:row; align-items:center; gap:12px; }
  .app-tour .relay-route-hop > div > span:not(.relay-path-line) { order:1; font-size:12px; }
  .app-tour .relay-path-line { width:0; height:38px; margin:4px; border-top:0; border-left:2px solid var(--brand-accent); }
  .app-tour .relay-path-line::after { right:auto; left:-5px; top:auto; bottom:1px; transform:rotate(135deg); }
  .app-tour .relay-reply .relay-path-line::after { left:-5px; top:1px; bottom:auto; transform:rotate(-45deg); }
}

/* Mail diagrams show custody and final delivery as separate checkpoints. */
.app-tour .tour-stop .body .mail-delivery-visual { margin:32px 0; }
.app-tour .mail-delivery-heading h3 { margin:0 0 10px; font:700 27px/1.2 var(--display); }
.app-tour .mail-delivery-heading p { margin:0 0 20px; color:#bfcede; font-size:16px; }
.app-tour .mail-path { padding:20px; border:1px solid #355575; border-radius:10px; background:var(--panel); }
.app-tour .mail-path + .mail-path { margin-top:16px; }
.app-tour .mail-path > header { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; margin-bottom:18px; }
.app-tour .mail-path h4 { margin:0; color:var(--ink); font:700 22px/1.3 var(--display); }
.app-tour .mail-path .mail-config { margin:0; color:#b6c9dd; font-size:13px; }
.app-tour .mail-config strong { color:#deebf8; }
.app-tour .mail-route { display:grid; grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr) 72px minmax(0,1fr); gap:12px; align-items:stretch; }
.app-tour .mail-station { display:flex; flex-direction:column; min-width:0; padding:18px; border:1px solid #355575; border-radius:7px; background:var(--ground); }
.app-tour .mail-station-heading { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.app-tour .mail-envelope { flex:none; width:26px; height:20px; color:#9acbff; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.app-tour .mail-station h5 { margin:0; color:var(--ink); font:700 20px/1.25 var(--display); }
.app-tour .mail-station p { margin:0 0 18px; color:#c3d1e2; font-size:14px; line-height:1.6; }
.app-tour .mail-checkpoint { align-self:flex-start; margin-top:auto; border-top:1px solid #355575; padding-top:10px; color:#b8d9f8; font:11px/1.5 var(--mono); }
.app-tour .mail-custodian { border-color:var(--brand-accent); background:#10243a; }
.app-tour .mail-recipient .mail-checkpoint { color:var(--ink); }
.app-tour .mail-route-arrow { display:flex; flex-direction:column; justify-content:center; gap:14px; min-width:0; color:var(--brand-accent); }
.app-tour .mail-route-arrow > span { color:#bedcff; font:11px/1.5 var(--mono); text-align:center; }
.app-tour .mail-route-arrow > .mail-arrow-across { position:relative; display:block; width:100%; height:0; margin-block:11px; border-top:2px solid var(--brand-accent); }
.app-tour .mail-arrow-across::after { content:""; position:absolute; right:1px; top:-5px; width:8px; height:8px; border-top:2px solid var(--brand-accent); border-right:2px solid var(--brand-accent); transform:rotate(45deg); }
.app-tour .mail-arrow-down { display:none; }
.app-tour .mail-direct-arrow { grid-column:2 / 5; padding-inline:12px; }
.app-tour .mail-path .mail-path-takeaway { max-width:none; margin:16px 0 0; color:#bfcfe1; font-size:14px; line-height:1.7; }
.app-tour .mail-path-takeaway strong { color:var(--ink); }
.app-tour .mail-delivery-visual figcaption { margin:14px 0 0; color:#b9c9dc; font-size:13px; line-height:1.6; }
@media(max-width:800px) {
  .app-tour .mail-path { padding:20px; }
  .app-tour .mail-route { grid-template-columns:minmax(0,1fr); gap:14px; }
  .app-tour .mail-direct-arrow { grid-column:auto; padding:0; }
  .app-tour .mail-route-arrow { flex-direction:row; align-items:center; gap:16px; }
  .app-tour .mail-route-arrow > span { order:1; text-align:left; font-size:12px; }
  .app-tour .mail-route-arrow > .mail-arrow-across { display:none; }
  .app-tour .mail-arrow-down { display:block; flex:none; width:24px; height:44px; }
  .app-tour .mail-station { padding:18px; }
  .app-tour .mail-envelope { display:none; }
}

/* A repeat request becomes one station's broadcast to the channel. */
.app-tour .tour-stop .body .repeat-visual { margin:24px 0; }
.app-tour .repeat-flow { display:grid; grid-template-columns:minmax(0,1fr) 64px minmax(0,1.1fr) 64px minmax(0,1fr); gap:16px 12px; align-items:stretch; padding:24px; border:1px solid #355575; border-radius:10px; background:var(--panel); }
.app-tour .repeat-direct { grid-column:1 / -1; display:flex; align-items:center; justify-content:center; gap:12px; max-width:none; margin:0 0 6px; padding-bottom:20px; border-bottom:1px dashed #50627a; color:#c3cfdf; font-size:14px; line-height:1.5; text-align:center; }
.app-tour .repeat-direct svg { flex:none; width:44px; height:20px; }
.app-tour .repeat-station { display:flex; flex-direction:column; min-width:0; padding:20px 16px; border:1px solid #355575; border-radius:8px; background:var(--ground); }
.app-tour .repeat-station .repeat-step { margin:0 0 10px; color:#a9ccef; font:11px/1.5 var(--mono); }
.app-tour .repeat-station h4 { margin:0 0 16px; color:var(--ink); font:700 22px/1.2 var(--display); }
.app-tour .repeat-radio { width:48px; height:44px; color:#9acbff; margin:0 0 16px; }
.app-tour .repeat-station .repeat-message { padding:12px; margin:0 0 14px; border:1px solid #386895; border-radius:7px; background:#193754; color:var(--ink); font-size:16px; line-height:1.5; }
.app-tour .repeat-station .repeat-station-note { margin:auto 0 0; color:#bfcede; font-size:13px; line-height:1.6; }
.app-tour .repeat-carrier { border-color:var(--brand-accent); background:#10243a; }
.app-tour .repeat-connection { position:relative; display:flex; flex-direction:column; justify-content:center; color:var(--brand-accent); }
.app-tour .repeat-connection > span { position:absolute; top:20px; width:100%; color:#bedcff; font:11px/1.5 var(--mono); text-align:center; }
.app-tour .repeat-across { display:block; width:100%; height:32px; }
.app-tour .repeat-fanout .repeat-across { height:176px; }
.app-tour .repeat-down { display:none; }
.app-tour .repeat-audience ul { display:grid; gap:12px; list-style:none; padding:0; margin:0 0 18px; }
.app-tour .repeat-audience li { display:flex; align-items:center; gap:10px; margin:0; padding:10px 12px; border:1px solid #355575; border-radius:5px; color:var(--ink); font-size:15px; }
.app-tour .repeat-audience li svg { flex:none; width:24px; height:24px; stroke:#9acbff; stroke-width:1.5; stroke-linecap:round; }
.app-tour .repeat-visual figcaption { margin:12px 0 0; color:#b9c9dc; font-size:13px; line-height:1.6; }
@media(max-width:800px) {
  .app-tour .repeat-flow { grid-template-columns:1fr; gap:12px; padding:20px; }
  .app-tour .repeat-direct { justify-content:flex-start; text-align:left; padding-bottom:16px; }
  .app-tour .repeat-station { padding:20px; }
  .app-tour .repeat-radio { display:none; }
  .app-tour .repeat-station .repeat-message { margin-bottom:12px; }
  .app-tour .repeat-connection { flex-direction:row; align-items:center; justify-content:center; gap:18px; min-height:48px; }
  .app-tour .repeat-connection > span { position:static; width:auto; font-size:12px; text-align:left; order:1; }
  .app-tour .repeat-across { display:none; }
  .app-tour .repeat-down { display:block; width:32px; height:48px; }
  .app-tour .repeat-station .repeat-station-note { margin-top:0; }
}

/* Guided application walkthrough, isolated from other pages. */
.app-tour .page-head h1 { font-size: clamp(36px, 4.6vw, 60px); font-weight: 700; }
.app-tour .page-head h1 b { font-weight: inherit; }
.app-tour .page-head .lede { max-width: 66ch; font-size: 21px; line-height: 1.5; }
.app-tour .page-head .fine { max-width: 98ch; }
.app-tour .first-contact > h2 { margin-bottom: 20px; }
.app-tour article.sec.tour-stop { display: block; padding-top: 48px; padding-bottom: 48px; }
.app-tour .tour-stop > header { margin-bottom: 26px; }
.app-tour .tour-stop > header h2 { font-size: clamp(28px, 3.2vw, 40px); margin-bottom: 16px; }
.app-tour .tour-stop > header p:not(.kicker) { max-width: 80ch; font-size: 19px; line-height: 1.5; color: #becbde; }
.app-tour .tour-stop .body { max-width: none; }
.app-tour .tour-stop .body figure { margin: 0; }
.app-tour .tour-stop .app-callouts { margin-top: 24px; }
.app-tour .tour-guide { margin: 22px 0 0; font-size: 15px; }
.app-tour .tour-back { max-width:none; margin:24px 0 0; font-size:15px; }
.app-tour .tour-back a { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.app-tour .tour-stop .kicker { color: var(--brand-accent); }
@media (max-width: 700px) { .app-tour article.sec.tour-stop { padding-top: 36px; padding-bottom: 36px; } }

/* Operator features extend the existing navy, blue and editorial type system. */
.app-tour .operating-links { padding-top:8px; margin-top:8px; border-top:1px solid var(--line); font-size:15px; }
.app-tour .operator-tip { margin:24px 0; padding:18px 22px; border-left:3px solid var(--brand-accent); background:var(--panel); color:#c8d7e8; }
.app-tour .operator-tip p { max-width:85ch; margin:0 0 12px; }
.app-tour .operator-tip p:last-child { margin-bottom:0; }
.app-tour .operator-tip strong { color:var(--ink); }
.app-tour kbd { display:inline-block; padding:1px 6px; border:1px solid #355a83; border-radius:3px; background:#14263d; color:#e6edf6; font-size:.82em; white-space:nowrap; }
.app-tour .editorial-columns > section { min-width:0; border-top:1px solid #355a83; padding-top:12px; }
.app-tour .editorial-columns h3 { margin-top:10px; line-height:1.25; }
.app-tour .editorial-columns p { max-width:38ch; }
.app-tour .editorial-columns a { font-size:15px; }
.app-tour .editorial-columns code { overflow-wrap:anywhere; }
.app-tour .group-guide [id], .app-tour .editorial-columns [id] { scroll-margin-top:24px; }
@media(max-width:700px) {
  .app-tour .operator-tip { padding:16px; }
}

/* Separate windows: a real detached page beside a practical operating example. */
.app-tour .window-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:clamp(28px,4vw,60px); align-items:center; padding:32px; margin:10px 0 38px; border:1px solid #355575; border-radius:10px; background:linear-gradient(135deg,#152b43,#0f1b2d); scroll-margin-top:24px; }
.app-tour .window-copy,.app-tour .window-example { min-width:0; }
.app-tour .window-feature .window-copy h3 { font:700 clamp(27px,3vw,37px)/1.15 var(--display); margin:0 0 20px; }
.app-tour .window-copy .kicker { font-size:11px; letter-spacing:.12em; margin:0 0 14px; }
.app-tour .window-lede { color:#d6e7f8; font-size:19px; line-height:1.5; }
.app-tour .window-copy p,.app-tour .window-steps { color:#becfe2; }
.app-tour .window-copy strong { color:var(--ink); }
.app-tour .window-steps { padding-left:21px; margin:23px 0; font-size:16px; line-height:1.6; }
.app-tour .window-steps li { padding-left:4px; margin-bottom:13px; }
.app-tour .window-keyboard { border-top:1px solid #355575; padding-top:18px; font-size:14px; line-height:1.7; }
.app-tour .window-copy > a { color:#b4d8ff; font-size:15px; }
.app-tour .window-feature > .tour-back { grid-column:1 / -1; margin:0; }
.app-tour .window-example img { width:100%; height:auto; border-radius:5px; box-shadow:0 18px 45px #02060c66; }
.app-tour .window-example figcaption { font-size:13px; line-height:1.6; color:#9fb2ca; margin-top:16px; }
.app-tour .window-example figcaption a { color:#bddbfa; }
.app-tour .desk-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:760px) {
  .app-tour .window-feature { grid-template-columns:1fr; gap:28px; padding:24px 20px; }
  .app-tour .window-example { max-width:480px; margin-inline:auto; }
  .app-tour .desk-tools { grid-template-columns:1fr; }
}

/* Groups are local conversations around one address, not a central server. */
.app-tour .group-visual { padding:25px 0 22px; }
.app-tour .group-broadcast { display:grid; grid-template-columns:minmax(0,1fr) 150px minmax(0,1.3fr); gap:0 20px; align-items:center; padding:28px; border:1px solid #355575; border-radius:10px; background:linear-gradient(135deg,#10263b,#0f1b2b); }
.app-tour .group-station { min-width:0; border:1px solid #355575; border-radius:9px; padding:22px; background:#0d1929; }
.app-tour .group-station p.group-station-role { margin:0 0 6px; color:#9fc6ed; font:500 10px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.06em; }
.app-tour .group-station h4 { margin:0; font:600 24px/1.2 var(--display); }
.app-tour .group-thread-label { display:flex; gap:9px; align-items:center; flex-wrap:wrap; border-top:1px solid #29405a; padding-top:18px; margin-top:20px; }
.app-tour .group-thread-label svg { width:20px; height:20px; color:#8fc7ff; flex:none; }
.app-tour .group-thread-label strong { font:600 16px var(--mono); color:#a9d4ff; }
.app-tour .group-thread-label > span { flex-basis:100%; color:#a6bbd1; font-size:12px; }
.app-tour .group-station p.group-example-message { padding:14px 16px; margin:17px 0; border:1px solid #386895; border-radius:8px 8px 2px 8px; background:#1a4169; color:#e3f0ff; font-size:17px; line-height:1.5; }
.app-tour .group-station p.group-send-note { font-size:13px; color:#aac1d9; margin:0; line-height:1.6; }
.app-tour .group-air { position:relative; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.app-tour .group-air > span { position:absolute; width:100%; top:14px; text-align:center; color:#a4c8ed; font:11px/1.6 var(--mono); }
.app-tour .group-air svg { display:block; width:100%; height:340px; }
.app-tour .group-air svg.group-air-down { display:none; }
.app-tour .group-listeners { display:flex; flex-direction:column; gap:18px; min-width:0; }
.app-tour .group-listener { padding:20px; }
.app-tour .group-listener-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; }
.app-tour .group-listener-heading h4 { font-size:20px; }
.app-tour .group-listener-heading > span { font-size:11px; color:#acd4fb; }
.app-tour .group-listener p.group-local-thread { margin:13px 0 10px; font-size:12px; line-height:1.6; color:#9fb4cc; }
.app-tour .group-incoming-message { padding:12px 15px; background:#1b2a3b; border:1px solid #2c435d; border-radius:8px 8px 8px 2px; }
.app-tour .group-incoming-message > span { font:500 10px var(--mono); color:#91b8de; }
.app-tour .group-incoming-message p { margin:5px 0 0; font-size:16px; line-height:1.5; color:#e0ebf7; }
.app-tour .group-diagram-takeaway { grid-column:1 / -1; display:flex; gap:12px; align-items:center; border-top:1px solid #304860; padding-top:19px; margin-top:24px; }
.app-tour .group-diagram-takeaway svg { flex:none; width:24px; height:24px; color:#a4d2ff; }
.app-tour .group-diagram-takeaway p { margin:0; max-width:none; font-size:14px; line-height:1.7; color:#adc3db; }
.app-tour .group-visual figcaption { font-size:13px; color:#a8b9cf; line-height:1.6; margin-top:12px; }
@media(max-width:960px) {
  .app-tour .group-broadcast { grid-template-columns:minmax(0,1fr) 90px minmax(0,1.3fr); padding:22px; gap:0 14px; }
  .app-tour .group-station { padding:18px; }
  .app-tour .group-air > span { font-size:10px; }
}
@media(max-width:700px) {
  .app-tour .group-broadcast { grid-template-columns:minmax(0,1fr); padding:20px; }
  .app-tour .group-air { align-items:center; padding:18px 0; gap:10px; }
  .app-tour .group-air > span { position:static; font-size:11px; }
  .app-tour .group-air br { display:none; }
  .app-tour .group-air svg.group-air-links { display:none; }
  .app-tour .group-air svg.group-air-down { display:block; width:24px; height:32px; }
  .app-tour .group-diagram-takeaway { align-items:flex-start; }
}

/* Forms: the real compose dialog, the deliberate send, and readable output. */
.app-tour .form-walkthrough { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,4vw,56px); margin:30px 0; align-items:start; }
.app-tour .form-walkthrough section,.app-tour .form-follow-through { min-width:0; }
.app-tour .visual-step { display:flex; gap:12px; align-items:center; }
.app-tour .visual-step > span { display:grid; place-items:center; width:30px; height:30px; flex:none; border:1px solid #4677a7; border-radius:50%; color:#b9dcff; font:500 13px var(--mono); }
.app-tour .visual-step h4 { font:600 21px/1.25 var(--display); margin:0; }
.app-tour .form-walkthrough p { font-size:17px; line-height:1.6; }
.app-tour .form-walkthrough p.fine { font-size:14px; }
.app-tour .form-screenshot { max-width:500px; padding-top:8px; }
.app-tour .form-screenshot img { display:block; width:100%; height:auto; border:1px solid #355575; border-radius:8px; }
.app-tour .form-walkthrough figcaption,.app-tour .group-form-layout figcaption,.app-tour .library-explainer figcaption { font-size:13px; color:#a8b9cf; line-height:1.6; margin-top:12px; }
.app-tour .form-follow-through > section + section { border-top:1px solid var(--line); padding-top:26px; margin-top:26px; }
.app-tour .form-ready { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:13px 15px; border:1px solid #355575; border-radius:7px; background:#11243a; color:#c2ddf6; font-size:14px; }
.app-tour .ready-dot { width:6px; height:6px; border-radius:50%; background:#83c5ff; margin-right:2px; }
.app-tour .form-paper { color-scheme:light; color:#233244; background:#f0f3f7; border:1px solid #c5d0df; border-radius:3px; overflow:hidden; box-shadow:0 8px 24px #0002; }
.app-tour .paper-heading { background:#dce5f0; border-bottom:2px solid #658db4; padding:17px 20px; display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; }
.app-tour .paper-heading > span { font:600 12px var(--mono); color:#315c82; }
.app-tour .paper-heading strong { color:#233244; font:600 17px var(--display); }
.app-tour .form-paper dl { margin:0; padding:10px 20px 16px; }
.app-tour .form-paper dl > div { display:grid; grid-template-columns:75px 1fr; gap:8px; padding:9px 0; border-bottom:1px solid #ccd5e0; font-size:15px; }
.app-tour .form-paper dl > div:last-child { border-bottom:0; }
.app-tour .form-paper dt { font-size:10px; text-transform:uppercase; letter-spacing:.07em; color:#4b6075; padding-top:4px; }
.app-tour .form-paper dd { margin:0; }
.app-tour .form-paper .paper-message { min-height:68px; }
.app-tour .form-group-example { margin-top:24px; }
.app-tour .group-form-layout { display:grid; grid-template-columns:1fr minmax(0,.8fr); gap:32px; padding-top:14px; }
.app-tour .group-form-layout img { display:block; width:100%; height:auto; max-width:420px; border-radius:6px; }

/* Library: explicit directions remain readable without relying on arrow color. */
.app-tour .library-explainer { padding:28px 0 20px; }
.app-tour .library-diagram { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr); gap:clamp(16px,2vw,28px); align-items:stretch; }
.app-tour .library-station { min-width:0; border:1px solid #355575; border-radius:10px; padding:22px 20px; background:linear-gradient(145deg,#142b42,#101d2f); }
.app-tour .library-station p.station-role { margin:0 0 5px; font:500 10px/1.5 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:#9fc6ed; }
.app-tour .library-station h4 { font:600 24px var(--display); margin:0 0 22px; }
.app-tour .folder-symbol { display:flex; align-items:center; gap:10px; color:#b4d8fc; font-size:14px; }
.app-tour .folder-symbol svg { width:38px; height:31px; flex:none; }
.app-tour .library-file-list { list-style:none; margin:18px 0 22px; padding:0; }
.app-tour .library-file-list li { padding:10px 0; margin:0; border-bottom:1px solid #2a415b; font:12px/1.5 var(--mono); color:#d2e0ee; overflow-wrap:anywhere; }
.app-tour .library-file-list li > span { color:#88bcf1; margin-right:5px; }
.app-tour .library-station .library-policy { margin:18px 0 0; font-size:12px; line-height:1.7; color:#aabed4; }
.app-tour .library-reader > p:not(.station-role):not(.library-policy) { font-size:15px; line-height:1.65; }
.app-tour .library-picked-file { margin:23px 0; display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.app-tour .library-picked-file svg { width:35px; height:43px; color:#80b9f0; }
.app-tour .library-picked-file strong { font:500 13px var(--mono); overflow-wrap:anywhere; }
.app-tour .library-picked-file > span { color:#aabed4; font-size:12px; }
.app-tour .library-exchanges { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; justify-content:space-evenly; gap:16px; }
.app-tour .library-exchanges li { display:flex; gap:11px; align-items:flex-start; margin:0; padding:0; }
.app-tour .exchange-count { display:grid; place-items:center; flex:none; width:23px; height:23px; margin-top:3px; background:#172d45; border:1px solid #355575; border-radius:50%; color:#bfddfb; font:11px var(--mono); }
.app-tour .library-exchanges li > div { flex:1; min-width:0; }
.app-tour .exchange-direction { display:block; color:#91aed0; font:10px/1.5 var(--mono); }
.app-tour .library-exchanges strong { display:block; font-size:14px; margin:5px 0 10px; font-weight:600; }
.app-tour .radio-arrow { position:relative; display:block; height:1px; background:#6ca9e5; margin:0 5px; }
.app-tour .radio-arrow::after { content:""; position:absolute; top:-3px; width:6px; height:6px; border-top:1px solid #6ca9e5; border-right:1px solid #6ca9e5; right:0; transform:rotate(45deg); }
.app-tour .toward-library .radio-arrow::after { right:auto; left:0; transform:rotate(-135deg); }
@media(max-width:1000px) {
  .app-tour .library-diagram { grid-template-columns:1fr 1fr; }
  .app-tour .library-host { grid-column:1; grid-row:1; }
  .app-tour .library-reader { grid-column:2; grid-row:1; }
  .app-tour .library-exchanges { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:24px 30px; padding:12px 0; }
}
@media(max-width:760px) {
  .app-tour .form-walkthrough,.app-tour .group-form-layout { grid-template-columns:1fr; gap:28px; }
  .app-tour .form-screenshot { max-width:500px; }
  .app-tour .form-follow-through { border-top:1px solid var(--line); padding-top:26px; }
}
@media(max-width:540px) {
  .app-tour .library-diagram { display:flex; flex-direction:column; gap:22px; }
  .app-tour .library-exchanges { display:flex; gap:22px; padding:8px 4px; }
  .app-tour .library-station { padding:22px; }
  .app-tour .library-file-list li { font-size:13px; }
  .app-tour .library-reader { order:3; }
  .app-tour .library-exchanges strong { font-size:16px; }
  .app-tour .exchange-direction { font-size:11px; }
}
