/* SENSIA experience layer. The canonical home hero is deliberately excluded. */
:root{--sx-ease:cubic-bezier(.22,1,.36,1);--sx-ring:rgba(126,177,255,.42);--sx-gold:rgba(212,175,124,.34)}
body:not(.sensia-motion-off) :where(.panel,.sensia-card,.review,.platform-card,.command-deck,.owner-command-card,.course,.mission){transition:transform .28s var(--sx-ease),box-shadow .28s var(--sx-ease),border-color .28s var(--sx-ease),background-color .28s var(--sx-ease)}
body:not(.sensia-motion-off) :where(.panel,.sensia-card,.review,.platform-card,.owner-command-card,.mission)[data-sensia-reveal]{opacity:0;transform:translateY(14px)}
body:not(.sensia-motion-off) :where(.panel,.sensia-card,.review,.platform-card,.owner-command-card,.mission)[data-sensia-reveal].sensia-inview{opacity:1;transform:none;transition:opacity .55s var(--sx-ease),transform .55s var(--sx-ease),box-shadow .28s var(--sx-ease),border-color .28s var(--sx-ease)}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--sx-ring);outline-offset:3px}
:where(button,a.button,.platform-login-link,.mission){-webkit-tap-highlight-color:transparent}
body:not(.sensia-motion-off) :where(button,a.button,.platform-login-link,.mission):active{transform:translateY(1px) scale(.99)}
.sensia-action-busy{cursor:progress!important;opacity:.72!important}
.sensia-action-busy::after{content:"";display:inline-block;width:.72em;height:.72em;margin-left:.55em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sxSpin .7s linear infinite;vertical-align:-.08em}
@keyframes sxSpin{to{transform:rotate(360deg)}}
@media (hover:hover) and (pointer:fine){body:not(.sensia-motion-off) :where(.sensia-card,.review,.platform-card,.owner-command-card,.mission):hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(3,10,20,.15)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.sensia-action-busy::after{animation:none}body :where([data-sensia-reveal]){opacity:1!important;transform:none!important}}
