.discovery-modes{display:flex;align-items:center;gap:4px;margin:4px 0 24px;border-bottom:1px solid var(--line);padding-bottom:12px}
.discovery-modes button{min-height:44px;padding:8px 17px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}
.discovery-modes button[aria-pressed="true"]{color:var(--ink);background:rgba(117,197,255,.09);border-color:rgba(117,197,255,.2)}
.discovery-modes small{margin-left:auto;color:var(--muted);font-size:11px;letter-spacing:.06em}
.flow-stream{max-width:740px;margin:0 auto;padding-bottom:40px}
.flow-intro{margin:4px 0 30px}.flow-intro h1{font:600 clamp(38px,7vw,54px)/1 var(--serif);letter-spacing:-.04em;margin:0 0 12px}
.flow-intro p{color:var(--muted);font-size:15px;max-width:480px;margin:0;line-height:1.6}
.flow-arrivals{position:sticky;top:10px;z-index:6;text-align:center;height:0}.flow-arrivals button{box-shadow:var(--shadow);background:var(--panel2);border:1px solid var(--line2);border-radius:999px;padding:11px 18px;min-height:44px;color:var(--ink);cursor:pointer}
.flow-card{border:0;border-bottom:1px solid var(--line2);padding-bottom:27px;margin:0 0 34px;scroll-margin-top:18px;overflow-anchor:auto}
.flow-image{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--panel);border-radius:14px;margin-bottom:20px}
.flow-image img{display:block;width:100%;height:100%;object-fit:cover}
.flow-image.broken{display:none}.flow-card.image-failed{border-top:1px solid var(--line);padding-top:22px}
.flow-meta{display:flex;gap:8px 16px;flex-wrap:wrap;align-items:baseline;color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:10px}
.flow-meta a{color:var(--blue);text-decoration:none}.flow-meta .flow-repeat{margin-left:auto;font-size:11px}
.flow-card h2{font:600 clamp(25px,4vw,34px)/1.16 var(--serif);letter-spacing:-.025em;margin:0 0 15px;text-wrap:pretty}
.flow-card h2 a{color:var(--ink);text-decoration:none}.flow-card h2 a:hover{color:var(--blue)}
.flow-preview a{color:inherit;text-decoration:none}.flow-preview a:hover{color:var(--blue)}
.flow-preview{font:17px/1.65 var(--serif);color:#d6d2ca;white-space:pre-line;max-width:68ch;margin:0 0 8px}
.flow-provenance{color:var(--muted);font-size:11px;margin:10px 0 0}
.flow-expand{border:0;background:none;color:var(--blue);cursor:pointer;min-height:44px;padding:8px 0}
.flow-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}
.flow-actions button,.flow-more{font:inherit;min-height:44px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);padding:8px 13px;cursor:pointer}
.flow-actions button[aria-pressed="true"]{border-color:rgba(117,197,255,.4);color:var(--blue)}
.flow-actions button:disabled,.flow-more:disabled{opacity:.5}
.flow-footer{text-align:center;color:var(--muted);padding:12px 0 20px}.flow-footer p{font-size:13px}.flow-more{color:var(--blue);border-color:var(--line2);padding:10px 22px}
.flow-spacer{overflow-anchor:none}.flow-notice{color:var(--muted);padding:16px 0;font-size:14px}
body:has(.flow-stream) #controlDock{display:none}
.flow-card a:focus-visible,.flow-stream button:focus-visible,.discovery-modes button:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
@media(max-width:620px){.flow-stream{max-width:100%}.discovery-modes{margin-bottom:22px}.flow-image{border-radius:10px;margin-bottom:17px}.flow-card{margin-bottom:28px;padding-bottom:22px}.flow-preview{font-size:17px}.flow-meta .flow-repeat{margin-left:0}.flow-actions{gap:5px}.flow-actions button{padding:8px 12px;font-size:13px}.flow-intro{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){.flow-stream *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Content light escapes into peripheral Ink; the reading column stays untouched.
   A blurred source image is a robust colour approximation, with no canvas/CORS work. */
body:has(.flow-stream){isolation:isolate}
.flow-peripheral-atmosphere{
  --peripheral-width:clamp(28px,calc((100vw - 780px)/2),340px);
  position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict;
  mask-image:linear-gradient(90deg,#000,transparent var(--peripheral-width),transparent calc(100% - var(--peripheral-width)),#000);
}
.flow-peripheral-atmosphere img{
  position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);
  object-fit:cover;filter:blur(48px) saturate(.45) brightness(.65);opacity:0;
  transition:opacity 1100ms ease;pointer-events:none;
}
.flow-peripheral-atmosphere img.is-current{opacity:.65}
@media(max-width:620px){.flow-peripheral-atmosphere{--peripheral-width:36px}.flow-peripheral-atmosphere img.is-current{opacity:.55}}
@media(prefers-reduced-motion:reduce){.flow-peripheral-atmosphere img{transition:none}}
@media(forced-colors:active){.flow-peripheral-atmosphere{display:none}}
