/* FHTB guided-tour motion + voice polish */
:root{--motion-fast:180ms;--motion-med:320ms;--motion-slow:520ms}
html.fhtb-motion-ready .panel,html.fhtb-motion-ready .workspace,html.fhtb-motion-ready .nextsteps{animation:fhtbReveal var(--motion-slow) cubic-bezier(.22,.8,.24,1) both}
html.fhtb-motion-ready .workspace{animation-delay:70ms}html.fhtb-motion-ready .nextsteps{animation-delay:130ms}
@keyframes fhtbReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.tour-card{transform-origin:50% 100%;will-change:transform,opacity}.tour-card:not([hidden]){animation:fhtbTourIn 360ms cubic-bezier(.18,.9,.25,1.12) both}.tour-card.tour-step-enter{animation:fhtbStepSwap 300ms cubic-bezier(.2,.8,.2,1) both}
@keyframes fhtbTourIn{from{opacity:0;transform:translateX(-50%) translateY(24px) scale(.975)}to{opacity:1;transform:translateX(-50%)}}
@keyframes fhtbStepSwap{0%{opacity:.55;transform:translateX(-50%) translateY(7px) scale(.992)}100%{opacity:1;transform:translateX(-50%)}}
.tour-target{transition:outline-color var(--motion-med) ease,box-shadow var(--motion-med) ease,filter var(--motion-med) ease}.tour-audio{position:relative;overflow:hidden}.tour-audio::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#7dd3fc,#0284c7);opacity:.65}.tour-audio button{transition:transform var(--motion-fast) ease,background var(--motion-fast) ease,border-color var(--motion-fast) ease}.tour-audio button:active{transform:scale(.96)}
.voice-indicator{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:5px 9px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--ink-soft);font-size:11px;font-weight:700;white-space:nowrap}.voice-indicator::before{content:"";width:7px;height:7px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.13)}.voice-indicator.is-playing::before{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.16);animation:fhtbVoicePulse 1s ease-in-out infinite alternate}.voice-indicator.is-paused::before{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.16)}@keyframes fhtbVoicePulse{to{transform:scale(1.35)}}
.tour-progress span{position:relative;overflow:hidden}.tour-progress span::after{content:"";position:absolute;inset:0;width:38%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);transform:translateX(-140%);animation:fhtbProgressSheen 1.5s ease-in-out infinite}@keyframes fhtbProgressSheen{70%,100%{transform:translateX(320%)}}
.card,.nextstep,.assumption-group{transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease,border-color var(--motion-fast) ease}@media (hover:hover) and (pointer:fine){.card:hover,.nextstep:hover,.assumption-group:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(22,48,62,.10);border-color:#b8dbe5}}
@media (prefers-reduced-motion:reduce){html.fhtb-motion-ready .panel,html.fhtb-motion-ready .workspace,html.fhtb-motion-ready .nextsteps,.tour-card:not([hidden]),.tour-card.tour-step-enter,.voice-indicator.is-playing::before,.tour-progress span::after{animation:none!important}.card,.nextstep,.assumption-group,.tour-target,.tour-audio button{transition:none!important}}
