/* A TSD identity in motion. The actual screen is ready underneath the reveal. */
.tsd-entrance,.session-screen{background:#ecf3f4;isolation:isolate;overflow:hidden}
.tsd-entrance{position:fixed;inset:0;z-index:110;display:grid;place-items:center;pointer-events:none;animation:tsd-cinema-arrive 1.4s cubic-bezier(.18,.68,.2,1) both}
.tsd-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 12% 15%,#fff 0,transparent 48%),linear-gradient(125deg,#eef4f4 30%,#b9d1d8 70%,#456d7d)}
.tsd-scene-orbit{position:absolute;width:90vmax;height:90vmax;border:1px solid #31586a30;border-radius:50%;left:29%;top:-48%;box-shadow:0 0 0 32px #ffffff1a,0 0 0 76px #31586a08,0 0 0 138px #ffffff20;transform:rotate(-30deg) scaleY(.5);animation:tsd-scene-orbit 18s ease-in-out infinite alternate}
.tsd-scene-orbit.orbit-two{left:-60%;top:15%;border-color:#fff9;animation-delay:-9s}
.tsd-scene-track{position:absolute;inset:-70% 37%;width:12%;background:linear-gradient(90deg,transparent,#fff7,transparent);transform:rotate(28deg);animation:tsd-light-travel 8s ease-in-out infinite alternate}
.tsd-scene-light{position:absolute;bottom:-18%;left:10%;width:85%;height:55%;background:radial-gradient(ellipse,#fff9,transparent 67%);transform:rotate(-15deg)}
.tsd-scene-signal{position:absolute;inset:auto 0 18%;height:1px;background:linear-gradient(90deg,transparent,#b66c75,#f7f9f9,transparent);transform:rotate(-12deg);opacity:.7}
.tsd-entrance-title{display:flex;align-items:center;flex-direction:column;gap:25px;color:#254a5b;animation:tsd-title-reveal .9s ease both}
.tsd-entrance-title img{width:clamp(140px,18vw,250px);height:auto;mix-blend-mode:multiply}
.tsd-entrance-title>span{font:500 clamp(12px,1.2vw,17px)/1.2 "TSD Barlow",Arial,sans-serif;letter-spacing:6px;padding-left:6px}
.tsd-entrance-title>i{width:56px;height:2px;background:#b66c75}
.session-screen{transition:opacity .9s ease,visibility .9s;min-height:100dvh}
.session-screen .tsd-scene~*{position:relative}
.session-screen.is-leaving{opacity:0;visibility:hidden;pointer-events:none;transform:none;animation:none}
.session-screen>img{mix-blend-mode:multiply}
.session-screen .session-progress{background:#c7d9df}.session-screen .session-progress i{background:#b66c75}
@keyframes tsd-cinema-arrive{0%,12%{opacity:1}100%{opacity:0}}
@keyframes tsd-title-reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes tsd-scene-orbit{from{transform:rotate(-30deg) scaleY(.5) translateX(-2%)}to{transform:rotate(-22deg) scaleY(.56) translateX(2%)}}
@keyframes tsd-light-travel{from{transform:translateX(-80px) rotate(28deg);opacity:.4}to{transform:translateX(120px) rotate(28deg);opacity:.85}}
html[data-tsd-motion=off] .tsd-entrance{display:none}
html[data-tsd-motion=off] *,html[data-tsd-motion=off] *:before,html[data-tsd-motion=off] *:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}
.tsd-hidden *, .tsd-hidden *:before,.tsd-hidden *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.tsd-entrance{display:none}.tsd-scene *{animation:none!important}.session-screen{transition:none}}
