/* Luo Skeleton V4 — measured against production surfaces, October 2026.
   Chat: 78px row / 53px avatar. Status: 220px height / 116–153px width.
   Feed: 39px author / 4:5 media. Worlds: 45px emblem / 43px channel.
   Skeletons are only loaded during real pending requests and never count as content. */
.luo-skeleton-stage.luo-skeleton-v4,
.luo-skeleton-stage.luo-skeleton-v4 *,
.luo-skeleton-slow-message{box-sizing:border-box}
.luo-skeleton-stage.luo-skeleton-v4{--sk-dark:#312923;--sk-light:#65513b;--sk-edge:#4e403245;display:grid;align-content:start;gap:0;grid-template-columns:minmax(0,1fr);max-width:100%;width:100%;padding:0;margin:0;pointer-events:none;overflow:hidden;isolation:isolate;order:-1}
.luo-skeleton-v4 .luo-skeleton-tile{position:relative;display:flex;flex-direction:row;gap:12px;align-items:center;margin:0;min-width:0;max-width:100%;border:0;background:transparent;box-shadow:none;border-radius:0}
.luo-skeleton-v4 .sk-bar,
.luo-skeleton-v4 .sk-avatar,
.luo-skeleton-v4 .sk-post-media,
.luo-skeleton-v4 .sk-status-cover{display:block;flex:none;background:linear-gradient(100deg,var(--sk-dark) 18%,var(--sk-light) 48%,var(--sk-dark) 78%);background-size:250% 100%;animation:luoSkV4Sweep 1.65s ease-in-out infinite;border:0;opacity:.83}
.luo-skeleton-v4 .sk-bar{height:11px;width:100%;border-radius:5px}
.luo-skeleton-v4 .sk-avatar{width:53px;height:53px;border-radius:50%;flex:0 0 53px}
.luo-skeleton-v4 .sk-lines{flex:1;display:grid;gap:9px;min-width:0}
.luo-skeleton-v4 .sk-primary{height:14px;width:65%}
.luo-skeleton-v4 .sk-secondary{height:11px;width:87%;opacity:.64}
.luo-skeleton-v4 .sk-tertiary{height:9px;width:45%;opacity:.51}
.luo-skeleton-v4 .sk-chat-row{width:100%;min-height:78px;padding:12px 11px;gap:13px}
.luo-skeleton-v4 .sk-chat-row:nth-child(2) .sk-primary{width:49%}
.luo-skeleton-v4 .sk-chat-row:nth-child(3) .sk-primary{width:77%}
.luo-skeleton-v4 .sk-chat-row:nth-child(4) .sk-primary{width:56%}
.luo-skeleton-v4 .sk-chat-row:nth-child(2) .sk-secondary{width:77%}
.luo-skeleton-v4 .sk-chat-row:nth-child(4) .sk-secondary{width:68%}
.luo-skeleton-v4 .sk-meta{flex:0 0 41px;align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;gap:14px;padding-top:9px}
.luo-skeleton-v4 .sk-time{width:38px;height:9px;opacity:.48}
.luo-skeleton-v4 .sk-count{height:18px;width:18px;border-radius:50%}
.luo-skeleton-v4[data-kind="chat"]{padding:0 5px 12px}
.luo-skeleton-v4[data-kind="message"]{padding:15px 10px 20px;gap:9px}
.luo-skeleton-v4 .sk-message{display:flex!important;min-height:52px!important;max-width:100%;width:100%;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.luo-skeleton-v4 .sk-message.sk-own{justify-content:flex-end}
.luo-skeleton-v4 .sk-message.sk-theirs{justify-content:flex-start}
.luo-skeleton-v4 .sk-bubble-lines{display:grid;align-content:center;gap:8px;padding:13px 15px;min-height:50px;width:min(69%,460px);background:#242127;border-radius:22px 22px 22px 6px}
.luo-skeleton-v4 .sk-own .sk-bubble-lines{width:min(81%,490px);background:#3b3025;border-radius:22px 22px 6px 22px}
.luo-skeleton-v4 .sk-message:nth-child(3) .sk-bubble-lines{width:min(44%,320px)}
.luo-skeleton-v4 .sk-message:nth-child(4) .sk-bubble-lines{width:min(77%,470px)}
.luo-skeleton-v4 .sk-message-line{height:13px;width:92%}
.luo-skeleton-v4 .sk-message-line.sk-short{width:58%;height:11px}
.luo-skeleton-v4 .sk-message-time{height:7px;width:34px;justify-self:end;opacity:.35}
.luo-skeleton-stage.luo-skeleton-v4[data-kind="status"]{order:1;display:flex;align-items:flex-start;gap:11px;flex:0 0 auto;width:max-content;max-width:none;min-height:220px;overflow:visible;padding:0}
.luo-skeleton-v4 .sk-status-card{position:relative;display:flex;flex:0 0 clamp(116px,31vw,153px);width:clamp(116px,31vw,153px);max-width:153px;height:220px!important;min-height:220px!important;overflow:hidden;border:1px solid #70543580!important;border-radius:18px!important;padding:16px 12px!important;background:linear-gradient(140deg,#29221f,#121116 75%)!important}
.luo-skeleton-v4 .sk-status-avatar{position:relative;z-index:2;width:48px;height:48px;flex:0 0 48px;border:3px solid #b89159;border-radius:50%}
.luo-skeleton-v4 .sk-status-cover{position:absolute;inset:0;opacity:.4}
.luo-skeleton-v4 .sk-status-label{position:absolute;bottom:13px;left:10px;width:66%;height:13px;z-index:2}
.luo-skeleton-v4 .sk-status-card:nth-child(2) .sk-status-label{width:83%}
.luo-skeleton-v4 .sk-status-card:nth-child(3) .sk-status-label{width:61%}
.luo-skeleton-v4[data-kind="post"]{gap:16px;max-width:600px}
.luo-skeleton-v4 .sk-post-card{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;padding:0!important;gap:0;background:#101014!important;border-bottom:1px solid #3a312a!important;border-radius:0!important;overflow:hidden}
.luo-skeleton-v4 .sk-post-header{display:flex;align-items:center;gap:10px;padding:14px 16px;min-height:67px}
.luo-skeleton-v4 .sk-feed-avatar{width:39px;height:39px;flex:0 0 39px}
.luo-skeleton-v4 .sk-post-header .sk-lines{max-width:210px}
.luo-skeleton-v4 .sk-post-header .sk-primary{height:12px}
.luo-skeleton-v4 .sk-post-header .sk-secondary{height:9px}
.luo-skeleton-v4 .sk-post-media{position:relative;display:grid;place-items:center;aspect-ratio:4/5;width:100%;max-height:680px;min-height:200px;opacity:.82}
.luo-skeleton-v4 .sk-post-media-mark{width:78px;height:78px;border-radius:14px;opacity:.3}
.luo-skeleton-v4 .sk-post-footer{display:flex;flex-direction:column;gap:12px;min-height:90px;padding:16px}
.luo-skeleton-v4 .sk-post-actions{width:138px;height:23px}
.luo-skeleton-v4 .sk-post-caption{width:77%;height:12px}
.luo-skeleton-v4[data-kind="reel"]{display:block;width:100%;height:100%;min-height:clamp(360px,calc(100dvh - 210px),760px);max-width:600px;overflow:hidden}
.luo-skeleton-v4 .sk-reel-card{height:100%!important;min-height:clamp(360px,calc(100dvh - 210px),760px)!important;max-width:600px;border:0!important;background:#060608!important}
.luo-skeleton-v4 .sk-reel-card .sk-post-media{position:absolute;inset:0;width:100%;height:100%;max-height:none;min-height:0;aspect-ratio:auto}
.luo-skeleton-v4 .sk-reel-info{position:absolute;left:16px;right:76px;bottom:74px;display:grid;grid-template-columns:39px 1fr;gap:9px;align-items:center}
.luo-skeleton-v4 .sk-reel-name{width:70%;height:13px}
.luo-skeleton-v4 .sk-reel-caption{grid-column:1/span 2;width:80%;height:11px;margin-top:8px}
.luo-skeleton-v4 .sk-reel-actions{position:absolute;right:14px;bottom:96px;display:grid;gap:20px}
.luo-skeleton-v4 .sk-reel-actions .sk-bar{width:29px;height:29px;border-radius:50%}
.luo-skeleton-v4[data-kind="world"]{display:grid;gap:10px;width:100%;padding:12px 0;max-width:100%}
.luo-skeleton-v4 .sk-world-row{width:100%;min-height:89px;padding:14px;gap:9px;background:#1a191e!important;border:1px solid #39302b!important;border-radius:13px!important}
.luo-skeleton-v4 .sk-world-avatar{width:45px;height:45px;flex:0 0 45px;border-radius:13px}
.luo-skeleton-v4 .sk-world-row .sk-lines{gap:8px}
.luo-skeleton-v4 .sk-world-row .sk-primary{height:13px;width:55%}
.luo-skeleton-v4 .sk-world-row .sk-secondary{height:10px;width:80%}
.luo-skeleton-v4 .sk-world-row .sk-tertiary{width:43%}
.luo-skeleton-v4 .sk-world-action{width:91px;height:35px;border-radius:9px;flex:0 0 91px}
.luo-skeleton-v4[data-kind="channel"]{gap:5px;padding:5px 0}
.luo-skeleton-v4 .sk-channel-row{min-height:43px!important;height:43px!important;display:flex;gap:11px;padding:8px!important;border-radius:9px!important}
.luo-skeleton-v4 .sk-channel-icon{width:18px;height:18px;border-radius:4px}
.luo-skeleton-v4 .sk-channel-title{height:12px;width:70%;max-width:125px}
.luo-skeleton-v4 .sk-channel-row:nth-child(2) .sk-channel-title{width:55%}
.luo-skeleton-v4[data-kind="profile"]{padding:0 6px;gap:0}
.luo-skeleton-v4 .sk-profile-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px!important;gap:12px;padding:23px 18px!important;border:1px solid #64503450!important;border-radius:16px!important;background:#1d1920!important}
.luo-skeleton-v4 .sk-profile-avatar{width:88px;height:88px;flex:0 0 88px}
.luo-skeleton-v4 .sk-profile-name{height:18px;width:42%}
.luo-skeleton-v4 .sk-profile-username{height:11px;width:34%;opacity:.55}
.luo-skeleton-v4 .sk-profile-bio{height:11px;width:77%;margin:7px 0}
.luo-skeleton-v4 .sk-profile-actions{display:flex;gap:10px;width:90%}
.luo-skeleton-v4 .sk-profile-actions .sk-bar{flex:1;height:39px;border-radius:12px}
.luo-skeleton-v4[data-kind="comment"]{padding:10px 0;gap:10px}
.luo-skeleton-v4 .sk-comment-row{align-items:flex-start;min-height:69px;padding:8px 3px;gap:11px}
.luo-skeleton-v4 .sk-comment-avatar{width:32px;height:32px;flex:0 0 32px}
.luo-skeleton-v4 .sk-comment-row .sk-primary{height:10px;width:46%}
.luo-skeleton-v4 .sk-comment-row .sk-secondary{height:11px;width:86%}
.luo-skeleton-v4[data-kind="media"]{width:100%;height:100%;min-height:200px;align-content:center}
.luo-skeleton-v4 .sk-media-placeholder{height:100%;min-height:200px;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#282124,#0b0b0d)!important}
.luo-skeleton-v4 .sk-media-glyph{width:80px;height:80px;border-radius:18px;opacity:.4}
.luo-skeleton-slow-message{font-size:12px;line-height:1.45;color:#d0b78b;padding:10px 13px;max-width:420px;margin:12px auto;text-align:center}
.luo-skeleton-v4.sk-static .sk-avatar,.luo-skeleton-v4.sk-static .sk-bar,.luo-skeleton-v4.sk-static .sk-post-media,.luo-skeleton-v4.sk-static .sk-status-cover{animation:none!important;background:#46392b!important}
@media(prefers-reduced-motion:reduce){.luo-skeleton-v4 .sk-avatar,.luo-skeleton-v4 .sk-bar,.luo-skeleton-v4 .sk-post-media,.luo-skeleton-v4 .sk-status-cover{animation:none!important;background:#46392b!important}}
@keyframes luoSkV4Sweep{from{background-position:125% 0}to{background-position:-125% 0}}
@media(max-width:430px){
 .luo-skeleton-v4 .sk-chat-row{min-height:78px;padding:12px 11px}
 .luo-skeleton-v4 .sk-chat-row .sk-meta{flex-basis:34px}
 .luo-skeleton-v4 .sk-world-action{width:68px;flex-basis:68px;height:32px}
 .luo-skeleton-v4 .sk-world-row{padding:11px}
 .luo-skeleton-v4 .sk-post-header{min-height:67px}
 .luo-skeleton-v4 .sk-reel-info{bottom:85px}
}
@media(min-width:768px){
 .luo-skeleton-v4 .sk-chat-row{max-width:780px}
 .luo-skeleton-v4[data-kind="world"]{max-width:100%}
 .luo-skeleton-v4[data-kind="post"]{max-width:600px}
}
