:root{--skeleton-base:var(--color-background-alt,#12121a);--skeleton-highlight:var(--color-background-hover,#1c1c27);--skeleton-shimmer-start:var(--color-background-alt,#12121a);--skeleton-shimmer-mid:var(--color-background-active,#1e1e2a);--skeleton-shimmer-end:var(--color-background-alt,#12121a);--skeleton-pulse-duration:1.5s;--skeleton-shimmer-duration:2s}.skeleton{background-color:var(--skeleton-base);display:block}.skeleton--text{border-radius:var(--radius-sm,4px);transform-origin:0}.skeleton--rect{border-radius:var(--radius-md,6px)}.skeleton--circular{border-radius:var(--radius-full,9999px)}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}.skeleton--pulse{animation:skeleton-pulse var(--skeleton-pulse-duration) ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton--shimmer{background:linear-gradient(90deg, var(--skeleton-shimmer-start) 0%, var(--skeleton-shimmer-start) 40%, var(--skeleton-shimmer-mid) 50%, var(--skeleton-shimmer-start) 60%, var(--skeleton-shimmer-start) 100%);animation:skeleton-shimmer var(--skeleton-shimmer-duration) ease-in-out infinite;background-size:200% 100%}.skeleton--none{background:var(--skeleton-base);animation:none}@media (prefers-reduced-motion:reduce){.skeleton--pulse,.skeleton--shimmer{opacity:.5;background:var(--skeleton-base);animation:none}}.skeleton-sequence-view{gap:var(--space-3,12px);padding:var(--space-4,16px);background:var(--color-background,#0a0a0f);border-radius:var(--radius-lg,10px);flex-direction:column;display:flex}.skeleton-sequence-view__header{padding-bottom:var(--space-2,8px);border-bottom:1px solid var(--color-border-subtle,#232330);justify-content:space-between;align-items:center;display:flex}.skeleton-sequence-view__rows{gap:var(--space-2,8px);flex-direction:column;display:flex}.skeleton-sequence-view__row{align-items:center;gap:var(--space-3,12px);display:flex}.skeleton-sequence-view__gene-map{margin-top:var(--space-2,8px);padding-top:var(--space-3,12px);border-top:1px solid var(--color-border-subtle,#232330)}.skeleton-model3d{gap:var(--space-2,8px);background:var(--color-background,#0a0a0f);border-radius:var(--radius-lg,10px);flex-direction:column;display:flex;overflow:hidden}.skeleton-model3d__viewport{aspect-ratio:16/9;width:100%;min-height:200px;position:relative}.skeleton-model3d__viewport>.skeleton{position:absolute;inset:0}.skeleton-model3d__center{z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.skeleton-model3d__controls{justify-content:center;gap:var(--space-3,12px);padding:var(--space-3,12px);background:var(--color-background-elevated,#16161f);border-top:1px solid var(--color-border-subtle,#232330);display:flex}.skeleton-phage-list{gap:var(--space-1,4px);flex-direction:column;display:flex}.skeleton-phage-list__item{align-items:center;gap:var(--space-3,12px);padding:var(--space-3,12px) var(--space-4,16px);background:var(--color-background-elevated,#16161f);border-radius:var(--radius-md,6px);display:flex}.skeleton-phage-list__content{gap:var(--space-1,4px);flex-direction:column;flex:1;display:flex}.skeleton-gene-map{gap:var(--space-2,8px);padding:var(--space-2,8px) 0;flex-direction:column;display:flex}.skeleton-gene-map__track{gap:var(--space-1,4px);height:12px;display:flex}.skeleton-gene-map__track>.skeleton{flex-shrink:0}.skeleton-analysis-panel{gap:var(--space-4,16px);padding:var(--space-4,16px);background:var(--color-background-elevated,#16161f);border-radius:var(--radius-lg,10px);border:1px solid var(--color-border-subtle,#232330);flex-direction:column;display:flex}.skeleton-analysis-panel__header{justify-content:space-between;align-items:center;display:flex}.skeleton-analysis-panel__stats{gap:var(--space-6,24px);display:flex}.skeleton-analysis-panel__stat{gap:var(--space-1,4px);flex-direction:column;display:flex}.skeleton-analysis-panel__chart{margin:var(--space-2,8px) 0}.skeleton-analysis-panel__details{gap:var(--space-2,8px);flex-direction:column;display:flex}.skeleton-search-results{gap:var(--space-1,4px);flex-direction:column;display:flex}.skeleton-search-results__item{align-items:center;gap:var(--space-3,12px);padding:var(--space-3,12px);background:var(--color-background-elevated,#16161f);border-radius:var(--radius-md,6px);display:flex}.skeleton-search-results__icon{flex-shrink:0}.skeleton-search-results__content{gap:var(--space-1,4px);flex-direction:column;flex:1;display:flex}.skeleton-search-results__badge{flex-shrink:0}.skeleton-phage-list__item:first-child{animation-delay:0s}.skeleton-phage-list__item:nth-child(2){animation-delay:50ms}.skeleton-phage-list__item:nth-child(3){animation-delay:.1s}.skeleton-phage-list__item:nth-child(4){animation-delay:.15s}.skeleton-phage-list__item:nth-child(5){animation-delay:.2s}.skeleton-search-results__item:first-child{animation-delay:0s}.skeleton-search-results__item:nth-child(2){animation-delay:50ms}.skeleton-search-results__item:nth-child(3){animation-delay:.1s}.skeleton-search-results__item:nth-child(4){animation-delay:.15s}.skeleton-phage-list__item .skeleton--shimmer,.skeleton-search-results__item .skeleton--shimmer{animation-delay:inherit}@keyframes content-reveal-up{0%{opacity:0;transform:translateY(12px)}60%{opacity:1;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes content-reveal-scale{0%{opacity:0;transform:scale(.96)}60%{opacity:1;transform:scale(1.01)}to{opacity:1;transform:scale(1)}}@keyframes content-reveal-fade{0%{opacity:0}to{opacity:1}}.content-reveal{animation:content-reveal-up .4s var(--ease-spring-soft,cubic-bezier(.22, 1, .36, 1)) forwards}.content-reveal--scale{animation:content-reveal-scale .4s var(--ease-spring-soft,cubic-bezier(.22, 1, .36, 1)) forwards}.content-reveal--fade{animation:content-reveal-fade .3s var(--ease-out,cubic-bezier(0, 0, .2, 1)) forwards}.content-reveal-list>*{opacity:0;animation:content-reveal-up .4s var(--ease-spring-soft,cubic-bezier(.22, 1, .36, 1)) forwards}.content-reveal-list>:first-child{animation-delay:0s}.content-reveal-list>:nth-child(2){animation-delay:40ms}.content-reveal-list>:nth-child(3){animation-delay:80ms}.content-reveal-list>:nth-child(4){animation-delay:.12s}.content-reveal-list>:nth-child(5){animation-delay:.16s}.content-reveal-list>:nth-child(6){animation-delay:.2s}.content-reveal-list>:nth-child(7){animation-delay:.24s}.content-reveal-list>:nth-child(8){animation-delay:.28s}.content-reveal-list>:nth-child(9){animation-delay:.32s}.content-reveal-list>:nth-child(10){animation-delay:.36s}.content-reveal-list>:nth-child(n+11){animation-delay:.4s}.skeleton-crossfade{position:relative}.skeleton-crossfade>.skeleton-wrapper{transition:opacity .2s var(--ease-out,cubic-bezier(0, 0, .2, 1))}.skeleton-crossfade>.content-wrapper{opacity:0;transition:opacity .3s var(--ease-out,cubic-bezier(0, 0, .2, 1));transition-delay:.1s}.skeleton-crossfade[data-loaded=true]>.skeleton-wrapper{opacity:0;pointer-events:none}.skeleton-crossfade[data-loaded=true]>.content-wrapper{opacity:1}@media (prefers-reduced-motion:reduce){.content-reveal,.content-reveal--scale,.content-reveal--fade,.content-reveal-list>*{opacity:1;animation:none;transform:none}.skeleton-crossfade>.skeleton-wrapper,.skeleton-crossfade>.content-wrapper{transition-duration:.01ms}}
