/* 所有真实素材共用状态。人群 r32 由独立组件接管，避免双重覆盖。 */
img:not([data-virtual-preview]):not([data-media-state="ready"]):not([data-media-state="skip"]) { visibility:hidden!important; }
.media-loading-r33 { position:absolute; z-index:31; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; overflow:hidden; border-radius:inherit; background:linear-gradient(145deg,#eeeaf8,#f6f7fb); color:#75648f; font:12px/1.5 system-ui,sans-serif; pointer-events:none; text-align:center; box-sizing:border-box; }
.media-loading-r33[hidden] { display:none!important; }
.media-loading-r33 i { display:block; flex:none; box-sizing:border-box; width:27px; height:27px; border:3px solid #ded5f1; border-top-color:#8752e8; border-radius:50%; animation:media-loading-r33-spin .8s linear infinite; }
.media-loading-r33 button { pointer-events:auto; border:0; border-radius:8px; background:transparent; color:inherit; font:inherit; padding:10px; cursor:pointer; }
.media-loading-r33 button:focus-visible { outline:2px solid #8752e8; outline-offset:-2px; }
.media-loading-r33[data-state="error"] i { animation:none; border:0; width:auto; height:auto; font-size:23px; }
.media-loading-r33[data-state="error"] i::before { content:'↻'; }
.media-loading-r33[data-state="idle"] i { animation:none; border:0; width:auto; height:auto; font-size:25px; }
.media-loading-r33[data-state="idle"] i::before { content:'▷'; }
.media-loading-r33[data-compact="true"] { flex-direction:row; gap:6px; font-size:11px; }
.media-loading-r33[data-compact="true"] i { width:17px; height:17px; border-width:2px; }
.media-loading-r33[data-soft="true"] { background:rgba(242,238,250,.8); }
[data-theme="dark"] .media-loading-r33 { background:linear-gradient(145deg,#252335,#1d2434); color:#c6bcd9; }
[data-theme="dark"] .media-loading-r33 i { border-color:#514563; border-top-color:#b294f1; }
[data-theme="dark"] .media-loading-r33[data-soft="true"] { background:rgba(29,36,52,.8); }
.media-loading-parent-r33 > .material-preview-recovery, .media-loading-parent-r33 > [data-lazy-media-fallback] { visibility:hidden!important; }
/* 播放器（带控件的视频）加载时不盖浅色卡片：画面留在原播放器里（深色底），比例不变、不跳图。 */
/* 播放器统一用深色配色：浏览器自带的加载转圈（包括加载完后收尾的那一圈）用白色版本；浅色配色下它是黑色，在视频画面上看不清。 */
video[controls] { color-scheme:dark; }
video[controls]:not([data-media-state="ready"]):not([data-media-state="skip"]) { background-color:#07060c; }
.media-loading-r33[data-player="true"], [data-theme="dark"] .media-loading-r33[data-player="true"] { background:rgba(7,6,12,.46); color:#efeaff; }
.media-loading-r33[data-player="true"][data-soft="true"], [data-theme="dark"] .media-loading-r33[data-player="true"][data-soft="true"] { background:rgba(7,6,12,.22); }
.media-loading-r33[data-player="true"] i, [data-theme="dark"] .media-loading-r33[data-player="true"] i { border-color:rgba(255,255,255,.28); border-top-color:#fff; filter:drop-shadow(0 1px 2px rgba(0,0,0,.5)); }
.media-loading-r33[data-player="true"] [data-status-label] { text-shadow:0 1px 3px rgba(0,0,0,.6); }
/* 加载中不加遮罩，画面照常可见；很快就好的加载（拖动进度、切换片段）不闪：等 0.3 秒还没好才淡入。 */
.media-loading-r33[data-player="true"][data-state="loading"], [data-theme="dark"] .media-loading-r33[data-player="true"][data-state="loading"] { background:transparent; animation:media-loading-r33-fade .2s ease .3s both; }
/* 浏览器自带的转圈正在画面中央时（data-native-spinner），本层不画第二个，只在它下方写“加载中”；还没拿到视频地址、暂停时拖动进度等它不出现的情况，由本层显示白色转圈（和它一样大、位置相同，交接时不跳）。 */
.media-loading-r33[data-player="true"][data-compact="false"][data-state="loading"] i { width:64px; height:64px; }
.media-loading-r33[data-player="true"][data-compact="false"][data-state="loading"][data-native-spinner="true"] i { display:none; }
.media-loading-r33[data-player="true"][data-compact="false"][data-state="loading"][data-native-spinner="true"] [data-status-label] { position:absolute; left:0; right:0; top:calc(50% + 32px); }
@keyframes media-loading-r33-fade { from { opacity:0; } to { opacity:1; } }
@keyframes media-loading-r33-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .media-loading-r33 i { animation:none; } }
