:root{--is-motion-fast:180ms;--is-motion-base:360ms;--is-motion-slow:900ms;--is-motion-ease:cubic-bezier(.22,.75,.28,1);--is-motion-soft:cubic-bezier(.2,.7,.25,1)}
.isworld-front{animation:isworld-page-enter var(--is-motion-base) var(--is-motion-ease) both}
.isworld-motion-leaving{pointer-events:none}
.isworld-motion-leaving .isworld-front{animation:isworld-page-leave 180ms ease both}
.isworld-place-banner,.isworld-bag__hero,.isworld-front-hero{position:relative;isolation:isolate;overflow:hidden}
.isworld-place-banner::after,.isworld-bag__hero::after,.isworld-front-hero:not(.isworld-dashboard-hero-static)::after{content:"";position:absolute;inset:-2%;z-index:-1;background:inherit;background-size:cover;background-position:center;transform:scale(1.01);animation:isworld-panorama 16s ease-in-out infinite alternate;pointer-events:none}
.isworld-dashboard-hero-static{animation:none!important;transform:none!important;transition:none!important}
.isworld-dashboard-hero-static::after{content:none!important;animation:none!important;transform:none!important;background:none!important}
.isworld-front.isworld-dashboard-front{animation:none!important}
.isworld-place-banner>* ,.isworld-bag__hero>* ,.isworld-front-hero>*{position:relative;z-index:1}
.isworld-player-card,.isworld-place-story-card{animation:isworld-moment-enter 420ms var(--is-motion-ease) both}
.isworld-front-card,.isworld-current-travel-card,.isworld-dashboard-stats>div,.isworld-quicklinks>a,.isworld-bag-card,.isworld-shop-card{transition:transform var(--is-motion-fast) var(--is-motion-ease),box-shadow var(--is-motion-fast) ease,border-color var(--is-motion-fast) ease}
.isworld-front-card:hover,.isworld-current-travel-card:hover,.isworld-dashboard-stats>div:hover,.isworld-quicklinks>a:hover,.isworld-bag-card:hover,.isworld-shop-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(17,28,42,.14)}
.isworld-front button,.isworld-front a{transition:transform var(--is-motion-fast) var(--is-motion-ease),box-shadow var(--is-motion-fast) ease,filter var(--is-motion-fast) ease}
.isworld-front button:active,.isworld-front a:active{transform:scale(.985)}
.isworld-motion-submit{position:relative;overflow:hidden}
.isworld-motion-submit::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.32) 50%,transparent 80%);transform:translateX(-120%);animation:isworld-button-sheen 780ms ease forwards}
.isworld-shop-card--packing{animation:isworld-pack-card 900ms var(--is-motion-ease) both}
.isworld-purchase-flight{position:fixed;right:7vw;bottom:7vh;z-index:99999;display:flex;align-items:center;gap:10px;font-size:42px;pointer-events:none;animation:isworld-flight-wrap 1.2s var(--is-motion-ease) both}
.isworld-purchase-flight span{display:inline-block;animation:isworld-flight-item 1.05s var(--is-motion-ease) both}
.isworld-purchase-flight b{display:inline-block;animation:isworld-suitcase-bounce 520ms 620ms var(--is-motion-ease) both}
.isworld-shop__wallet strong.is-counting{animation:isworld-wallet-pulse 700ms ease both}
.isworld-bag-card.is-new-memory{animation:isworld-new-memory 1.1s var(--is-motion-ease) both}
.isworld-bag-dialog[open]{animation:isworld-dialog-in 260ms var(--is-motion-ease) both}
.isworld-bag-dialog::backdrop{background:rgba(9,13,20,.66);animation:isworld-backdrop-in 220ms ease both}
@keyframes isworld-page-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes isworld-page-leave{to{opacity:0;transform:translateY(-5px)}}
@keyframes isworld-panorama{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.055) translate3d(-.6%,.35%,0)}}
@keyframes isworld-moment-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes isworld-button-sheen{to{transform:translateX(120%)}}
@keyframes isworld-pack-card{0%{transform:none;filter:none}35%{transform:translateY(-10px) scale(1.018);filter:brightness(1.05)}100%{transform:translateY(4px) scale(.985);filter:brightness(.96)}}
@keyframes isworld-flight-wrap{0%{opacity:0;transform:translateY(16px) scale(.8)}20%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translateY(-8px) scale(1.05)}}
@keyframes isworld-flight-item{0%{transform:translate(-32vw,-24vh) rotate(-9deg) scale(1.15)}70%{transform:translate(-6px,-4px) rotate(4deg) scale(.72)}100%{transform:translate(8px,8px) rotate(0) scale(.2);opacity:0}}
@keyframes isworld-suitcase-bounce{0%{transform:scale(.8)}45%{transform:scale(1.16) rotate(-4deg)}75%{transform:scale(.96) rotate(3deg)}100%{transform:scale(1)}}
@keyframes isworld-wallet-pulse{0%,100%{transform:none}45%{transform:scale(1.08);color:#ed147d}}
@keyframes isworld-new-memory{0%{opacity:0;transform:translateY(18px) scale(.96);box-shadow:0 0 0 rgba(237,20,125,0)}55%{opacity:1;transform:translateY(-3px) scale(1.015);box-shadow:0 0 0 8px rgba(237,20,125,.10)}100%{transform:none;box-shadow:0 14px 35px rgba(17,28,42,.1)}}
@keyframes isworld-dialog-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes isworld-backdrop-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.isworld-place-banner::after,.isworld-bag__hero::after,.isworld-front-hero:not(.isworld-dashboard-hero-static)::after{animation:none!important;transform:none!important}}

.isworld-shop-card--packed{animation:isworld-packed-success 850ms var(--is-motion-ease) both}
@keyframes isworld-packed-success{0%{box-shadow:0 0 0 rgba(43,181,118,0)}45%{transform:translateY(-5px) scale(1.012);box-shadow:0 0 0 8px rgba(43,181,118,.12)}100%{transform:none;box-shadow:none}}

/* 2.5.1 – kein leerer Zwischenzustand bei Tour-Navigation */
@view-transition{navigation:auto}
::view-transition-old(root){animation:isworld-crossfade-old 170ms ease both}
::view-transition-new(root){animation:isworld-crossfade-new 230ms var(--is-motion-ease) both}
.isworld-front{animation:isworld-page-enter-calm 220ms var(--is-motion-ease) both}
.isworld-motion-leaving .isworld-front{animation:none!important;opacity:1!important;transform:none!important;filter:brightness(.985)}
.isworld-motion-navigating{cursor:progress}
.isworld-motion-navigating .isworld-player-primary,
.isworld-motion-navigating .isworld-motion-submit{pointer-events:none}
@keyframes isworld-page-enter-calm{from{opacity:.96;transform:translateY(3px)}to{opacity:1;transform:none}}
@keyframes isworld-crossfade-old{to{opacity:.94}}
@keyframes isworld-crossfade-new{from{opacity:.94}to{opacity:1}}

/* 2.5.3 – ruhiger, nahtloser Wechsel innerhalb der Experience */
.isworld-inline-experience{
  contain:layout style;
  transition:opacity 220ms var(--is-motion-soft),transform 220ms var(--is-motion-soft),filter 220ms ease;
}
.isworld-inline-experience.isworld-tour-loading{
  cursor:progress;
}
.isworld-inline-experience.isworld-tour-loading .isworld-inline-experience__module,
.isworld-inline-experience.isworld-tour-loading .isworld-inline-experience__intro,
.isworld-inline-experience.isworld-tour-loading .isworld-inline-experience__finish{
  filter:saturate(.98) brightness(.995);
}
.isworld-button-waiting{
  position:relative;
  min-width:150px;
  cursor:progress!important;
  opacity:.92;
}
.isworld-button-waiting::before{
  content:"";
  width:14px;
  height:14px;
  margin-right:9px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  display:inline-block;
  vertical-align:-2px;
  animation:isworld-calm-spinner 720ms linear infinite;
}
.isworld-tour-swap-out{
  opacity:.965;
  transform:translateY(-2px);
  filter:brightness(.99);
}
.isworld-tour-swap-in{
  opacity:.96;
  transform:translateY(4px);
}
.isworld-tour-swap-in.isworld-tour-swap-in-active{
  opacity:1;
  transform:none;
}
.isworld-inline-experience__progress .isworld-player-progress__track span{
  transition:width 420ms var(--is-motion-ease);
}
.isworld-inline-experience__module,
.isworld-inline-experience__intro,
.isworld-inline-experience__finish{
  will-change:opacity,transform;
}
@keyframes isworld-calm-spinner{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .isworld-tour-swap-out,.isworld-tour-swap-in,.isworld-tour-swap-in.isworld-tour-swap-in-active{opacity:1!important;transform:none!important;filter:none!important}
  .isworld-button-waiting::before{animation:none!important}
}


/* 2.5.4 – ruhiges Weltreise-Dashboard ohne bewegte Karten */
.isworld-dashboard-front .isworld-front-card,
.isworld-dashboard-front .isworld-current-travel-card,
.isworld-dashboard-front .isworld-dashboard-stats > div,
.isworld-dashboard-front .isworld-quicklinks > :is(a,button),
.isworld-dashboard-front .isworld-memory-card,
.isworld-dashboard-front .isworld-memory-preview article,
.isworld-dashboard-front .isworld-empty-state{
  transform:none!important;
  animation:none!important;
  transition:none!important;
}
.isworld-dashboard-front .isworld-front-card:hover,
.isworld-dashboard-front .isworld-front-card:focus-within,
.isworld-dashboard-front .isworld-current-travel-card:hover,
.isworld-dashboard-front .isworld-dashboard-stats > div:hover,
.isworld-dashboard-front .isworld-quicklinks > :is(a,button):hover,
.isworld-dashboard-front .isworld-quicklinks > :is(a,button):focus-visible,
.isworld-dashboard-front .isworld-memory-card:hover,
.isworld-dashboard-front .isworld-memory-card:focus-visible,
.isworld-dashboard-front .isworld-memory-preview article:hover{
  transform:none!important;
  animation:none!important;
  box-shadow:inherit;
}
.isworld-dashboard-front .isworld-memory-card:hover,
.isworld-dashboard-front .isworld-memory-card:focus-visible{
  border-color:rgba(23,24,39,.10);
  outline:none;
}
.isworld-dashboard-front .isworld-quicklinks > :is(a,button):hover,
.isworld-dashboard-front .isworld-quicklinks > :is(a,button):focus-visible{
  background:rgba(255,255,255,.085)!important;
  color:#fff!important;
  border-color:rgba(237,20,125,.42)!important;
  box-shadow:0 0 0 1px rgba(237,20,125,.12),0 8px 22px rgba(8,5,18,.18)!important;
  outline:none;
}
.isworld-current-travel-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.isworld-current-country-flag{
  width:54px;
  height:42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 8px 22px rgba(13,15,25,.16);
  font-size:30px;
  line-height:1;
}
.isworld-current-country-flag .isworld-country-flag-image{
  display:block;
  width:100%;
  height:100%;
  border-radius:12px;
  object-fit:cover;
}
.isworld-current-country-flag svg.isworld-country-flag-image{
  width:27px;
  height:27px;
  color:rgba(255,255,255,.82);
}
.isworld-sound-switch{
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  min-height:38px;
  padding:5px 9px 5px 12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(14,20,31,.68);
  color:#fff;
  font:inherit;
  cursor:pointer;
  transform:none!important;
  transition:border-color 160ms ease,background-color 160ms ease!important;
}
.isworld-sound-switch:hover{
  transform:none!important;
  background:rgba(14,20,31,.82);
  border-color:rgba(255,255,255,.28);
}
.isworld-sound-switch:focus-visible{
  outline:3px solid rgba(237,20,125,.32);
  outline-offset:3px;
}
.isworld-sound-switch__label{
  font-size:13px;
  font-weight:750;
}
.isworld-sound-switch__state{
  min-width:20px;
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:800;
  text-align:left;
}
.isworld-sound-switch__track{
  position:relative;
  width:34px;
  height:20px;
  flex:0 0 auto;
  border-radius:999px;
  background:rgba(255,255,255,.22);
}
.isworld-sound-switch__track > span{
  position:absolute;
  top:3px;
  left:3px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px rgba(0,0,0,.22);
  transition:left 160ms ease,background-color 160ms ease;
}
.isworld-sound-switch.is-active .isworld-sound-switch__track{
  background:#ed147d;
}
.isworld-sound-switch.is-active .isworld-sound-switch__track > span{
  left:17px;
}
.isworld-sound-switch.is-active .isworld-sound-switch__state{
  color:#fff;
}
@media (max-width:560px){
  .isworld-current-travel-card__top{align-items:flex-start}
  .isworld-sound-switch__label{display:none}
}
