.story-rail{--rail-gap:28px;--slide-size:calc((100% - var(--rail-gap))/2);min-width:0}
.rail-topline{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 22px}
.rail-hint{font-size:12px;line-height:1.5;opacity:.66;margin:0}
.rail-controls{display:flex;align-items:center;gap:9px;flex-shrink:0}
.rail-controls button{width:44px;height:44px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:background .2s,color .2s,opacity .2s}
.rail-controls button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}
.rail-controls button:hover:not(:disabled){background:var(--rail-accent,#123c31);border-color:var(--rail-accent,#123c31);color:white}
.rail-controls button:disabled{opacity:.24;cursor:default}
.rail-controls button:focus-visible,.rail-track:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.rail-track{display:grid;grid-auto-flow:column;grid-auto-columns:var(--slide-size);gap:var(--rail-gap);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:4px 0 8px;min-width:0;cursor:grab}
.rail-track::-webkit-scrollbar{display:none;width:0;height:0}
.rail-track>*{scroll-snap-align:start;min-width:0;margin:0}
.rail-track img{-webkit-user-drag:none;user-select:none}
.rail-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
.rail-track.is-dragging *{cursor:grabbing!important;user-select:none}
.rail-bottom{display:flex;align-items:center;gap:25px;margin-top:15px}
.rail-status{font-variant-numeric:tabular-nums;font-size:11px;letter-spacing:.09em;white-space:nowrap}
.rail-progress{--rail-progress:0;height:2px;background:#aab5ad55;flex:1;overflow:hidden}
.rail-progress::before{content:"";display:block;width:22%;height:100%;background:var(--rail-accent,#123c31);transform:translateX(calc(var(--rail-progress) * 354.545%));transition:transform .12s linear}
.story-rail:not(.can-scroll) .rail-hint{opacity:.45}
@media(max-width:800px){.story-rail{--slide-size:100%;--rail-gap:20px}.rail-topline{gap:15px}.rail-hint{font-size:11px}.rail-controls button{width:39px;height:39px}}
@media(max-width:500px){.story-rail{--slide-size:100%;--rail-gap:16px}.rail-bottom{margin-top:10px}.rail-controls{gap:7px}.rail-controls button{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.rail-controls button,.rail-progress::before{transition:none}.rail-track{scroll-behavior:auto}}
