/* Navigation feedback and lightweight, theme-aware loading states. */
html.portal-route #home-view{display:none}
html.portal-route #portal-view[hidden]{display:block;min-height:65vh}
html.portal-route #portal-view[hidden]::before{content:"";display:block;width:min(100%,760px);height:122px;margin:52px auto 0;border:1px solid var(--line);border-radius:18px;background:linear-gradient(100deg,var(--surface-soft),var(--surface),var(--surface-soft));background-size:200% 100%;animation:loading-shimmer 1.55s ease-in-out infinite}
html.is-navigating body::before{content:"";position:fixed;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,#048be9,#20c4ec);transform-origin:left;animation:route-progress 1.2s ease-out both;z-index:9999;pointer-events:none}
@keyframes route-progress{from{transform:scaleX(.08)}to{transform:scaleX(.9)}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:route-out .14s ease-in both}
::view-transition-new(root){animation:route-in .22s ease-out both}
@keyframes route-out{to{opacity:.3}}
@keyframes route-in{from{opacity:.3}to{opacity:1}}
.portal-loading{display:grid;gap:14px;margin:22px 0;max-width:100%}
.portal-loading-card{display:grid;gap:14px;min-height:116px;padding:23px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.portal-loading-card i,.ig-loading-line,.ig-loading-grid i,.ig-profile-loading i{display:block;border-radius:8px;background:linear-gradient(100deg,var(--surface-soft) 15%,var(--line) 46%,var(--surface-soft) 78%);background-size:200% 100%;animation:loading-shimmer 1.55s ease-in-out infinite}
.portal-loading-card i:first-child{width:31%;height:20px}
.portal-loading-card i:nth-child(2){width:60%;height:13px}
.portal-loading-card i:nth-child(3){width:42%;height:11px}
@keyframes loading-shimmer{to{background-position-x:-200%}}
.ig-loading{padding:18px 0}
.ig-loading-line{height:20px;width:46%;margin-bottom:17px}
.ig-loading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ig-loading-grid i{height:120px;border-radius:15px}
.ig-profile-loading{display:grid;gap:8px}
.ig-profile-loading i{height:62px;border-radius:13px}
.ig-stage:not([hidden]){animation:stage-in .22s ease-out both}
@keyframes stage-in{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
.ig-profile-results>.ig-profile-result{animation:stage-in .18s ease-out both}
.ig-note.is-loading::after{content:"";display:inline-block;width:8px;height:8px;margin-left:7px;border:2px solid var(--blue);border-top-color:transparent;border-radius:50%;animation:loading-spin .8s linear infinite;vertical-align:middle}
@keyframes loading-spin{to{transform:rotate(360deg)}}
@media(max-width:480px){.portal-loading-card{min-height:102px;padding:18px}.ig-loading-grid{gap:7px}.ig-loading-grid i{height:94px}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),.ig-stage:not([hidden]),.ig-profile-results>.ig-profile-result,.portal-loading-card i,.ig-loading-line,.ig-loading-grid i,.ig-profile-loading i,.ig-note.is-loading::after,html.is-navigating body::before,html.portal-route #portal-view[hidden]::before{animation:none}}
