.generation-journey { position: relative; min-width: 0; --journey-ink:var(--theme-ink,#fff4d6); color:var(--journey-ink); }
.generation-journey[hidden] { display:none!important; }
.generation-journey .compact-viewport { position:relative; overflow:hidden; width:100%; height:100%; }
.generation-journey.compact-rail { height:146px; width:100%; margin:10px 0; }
.preview-progress-meter:has(>.generation-journey) { width:100%;max-width:none;display:block; }
.generation-journey .compact-track { position:absolute;top:0;left:0;transition:transform .45s ease; }
.generation-journey .compact-items,.generation-journey .compact-links { position:absolute;inset:0; }
.generation-journey .compact-links { pointer-events:none; }
.generation-journey .compact-items { z-index:1; }
.generation-journey .compact-node { position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:center;min-width:0;padding:0 2px;border:0;background:none;color:inherit;cursor:default;transition:transform .45s ease; }
.generation-journey .compact-node[aria-hidden="true"] { visibility:hidden;pointer-events:none; }
.generation-journey .stage-icon-wrap { position:relative;display:grid;place-items:center;width:var(--compact-icon);height:var(--compact-icon);box-sizing:border-box;padding:3px;border:3px solid var(--theme-edge-light,#8da47b);background:var(--theme-inset-background,#16271f);box-shadow:inset 1px 1px #fff5,0 2px #0005; }
.generation-journey .compact-art { display:block;width:calc(var(--compact-icon) - 10px);height:calc(var(--compact-icon) - 10px); }
.generation-journey .stage-art { display:block;width:100%;height:100%;overflow:visible; }
.generation-journey .stage-index { position:absolute;top:-8px;left:-7px;min-width:18px;padding:0 3px;font-size:9px;line-height:15px;background:var(--theme-inset-background,#16271f);border:2px solid var(--theme-edge-light,#8da47b);color:inherit; }
.generation-journey .done .stage-icon-wrap { border-color:#6c873b; }
.generation-journey .done .stage-index { background:#4f712a;border-color:#34571f;color:#fff9e0!important; }
.generation-journey .current .stage-icon-wrap { border-color:#ac803a;outline:2px solid #d4b065;outline-offset:2px; }
.generation-journey .current .stage-index { background:#e0b16a;border-color:#9f7132;color:#503a20!important; }
.generation-journey .stage-label { margin-top:7px;font-size:11px;line-height:16px;height:16px;white-space:nowrap;text-align:center;color:inherit;font-weight:bold;max-width:100%;overflow:hidden;text-overflow:ellipsis; }
.generation-journey .stage-state { margin-top:3px;font-size:10px;line-height:13px;color:inherit; }
.generation-journey .stage-connector { position:absolute;display:block;width:40px;height:31px;transform:translate(-50%,-50%) rotate(var(--arrow-rotation,0deg)); }
.generation-journey.compact-screen .stage-connector { width:28px;height:22px; }
.generation-journey .stage-connector.row-turn { width:18px;height:14px; }
.generation-journey .connector-art { display:block;width:100%;height:100%; }
.generation-journey .arrow-flow { clip-path:inset(0 100% 0 0); }
.generation-journey .stage-connector.done .arrow-flow { clip-path:inset(0); }
.generation-journey .stage-connector.active .arrow-flow { animation:building-stage-arrow 1.45s linear infinite; }
.generation-journey.is-paused .arrow-flow { animation-play-state:paused; }
@keyframes building-stage-arrow { 0%{clip-path:inset(0 100% 0 0)}78%,100%{clip-path:inset(0)} }
.preview-stage.has-building-progress { min-height:480px; }
.preview-stage>.generation-journey { position:absolute;inset:16px 10px; }
.building-progress-heading [data-building-percent],.building-progress>progress { display:none!important; }
@media(max-width:500px){.generation-journey.compact-rail .stage-connector{width:30px;height:23px}.generation-journey .stage-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.generation-journey .compact-track,.generation-journey .compact-node{transition:none}}
