/* Skeleton Loading - loaded async after critical CSS */
.skeleton{background:var(--background-secondary,#f0f0f0);border-radius:var(--border-radius-sm,.375rem);overflow:hidden;position:relative}
.skeleton::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.15) 50%,transparent 100%);transform:translateX(-100%);animation:skeleton-shimmer 1.5s ease-in-out infinite}
@keyframes skeleton-shimmer{to{transform:translateX(100%)}}
.skeleton-text{height:1em;width:100%;margin-bottom:.75rem}
.skeleton-text:last-child{width:60%}
.skeleton-title{height:1.5em;width:60%;margin-bottom:1rem}
.skeleton-image{width:100%;aspect-ratio:16/9}
.skeleton-card{padding:var(--spacing-lg,1.5rem);border-radius:var(--border-radius-md,.5rem);border:1px solid var(--border-color,#e9ecef)}
.skeleton-nav{height:64px;width:100%}
.skeleton-line-short{height:1em;width:40%;margin-bottom:.75rem}
html[data-theme="dark"] .skeleton{background:var(--background-card,#1e2230)}
html[data-theme="dark"] .skeleton::after{background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.05) 50%,transparent 100%)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .skeleton{background:#1e2230}:root:not([data-theme="light"]) .skeleton::after{background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.05) 50%,transparent 100%)}}
@media(prefers-reduced-motion:reduce){.skeleton::after{animation:none}}
.page-skeleton{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;background:var(--background-primary,#fff);display:flex;flex-direction:column;transition:opacity .3s ease;pointer-events:none}
.page-skeleton[hidden]{display:none}
.page-skeleton.fade-out{opacity:0}
.page-skeleton-nav{height:64px;display:flex;align-items:center;padding:0 var(--spacing-xl,2rem);border-bottom:1px solid var(--border-color,#e9ecef)}
.page-skeleton-brand{width:160px;height:1.25rem}
.page-skeleton-links{display:flex;gap:1rem;margin-left:auto}
.page-skeleton-link{width:70px;height:1rem;border-radius:var(--border-radius-sm,.375rem)}
.page-skeleton-body{flex:1;max-width:800px;width:100%;margin:2rem auto;padding:0 var(--spacing-xl,2rem)}
