.file-workspace .immersive-viewer-shell{position:relative;overflow:hidden}

.file-workspace.reader-loading .immersive-file-stage,
.file-workspace.reader-loading .office-workspace-stage{
  visibility:hidden;
}
.file-workspace.reader-loading .viewer-bottom-dock,
.file-workspace.reader-loading .viewer-file-status{
  opacity:0;
  pointer-events:none;
}
.file-workspace.reader-ready .immersive-file-stage,
.file-workspace.reader-ready .office-workspace-stage{
  visibility:visible;
}
.file-workspace.reader-ready .viewer-bottom-dock,
.file-workspace.reader-ready .viewer-file-status{
  opacity:1;
}

.viewer-loading-screen{
  position:absolute;
  inset:0;
  z-index:40;
  display:grid;
  place-items:center;
  padding:88px 24px 110px;
  background:var(--lecture-reader-bg,#f4f5f7);
  opacity:1;
  visibility:visible;
  transition:opacity .18s ease,visibility .18s ease;
}
.file-workspace.reader-ready .viewer-loading-screen{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.viewer-loading-screen[hidden]{display:none}
.viewer-loading-card{
  width:min(360px,calc(100vw - 48px));
  display:grid;
  justify-items:center;
  gap:12px;
  padding:24px 22px;
  border-radius:24px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 48px rgba(15,23,42,.12);
  text-align:center;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.viewer-loading-card strong{font-size:18px;color:#171a20}
.viewer-loading-card>span:not(.viewer-loading-spinner){font-size:14px;line-height:1.5;color:#4b5563}
.viewer-loading-card small{font-size:12px;line-height:1.45;color:#6b7280}
.viewer-loading-spinner{
  width:42px;
  height:42px;
  border-radius:50%;
  border:4px solid rgba(38,99,235,.14);
  border-top-color:#2663eb;
  animation:file-reader-spin .82s linear infinite;
}
.reader-load-error .viewer-loading-spinner{display:none}
.reader-load-error .viewer-loading-card{border-color:rgba(220,38,38,.18)}
.reader-load-error .viewer-loading-card strong{color:#b91c1c}
@keyframes file-reader-spin{to{transform:rotate(360deg)}}

.file-workspace .immersive-close{z-index:60}
.file-workspace .viewer-bottom-dock{transition:opacity .16s ease}
.file-workspace .viewer-file-status{transition:opacity .16s ease}

.file-workspace .immersive-file-stage,
.file-workspace .office-workspace-stage,
.file-workspace .native-office-host{
  touch-action:pan-x pan-y;
  -webkit-user-select:none;
  user-select:none;
}
.file-workspace.reader-pinching .immersive-page-track,
.file-workspace.reader-pinching .native-office-host,
.file-workspace.reader-pinching .office-page-track{
  transition:none!important;
}

html[data-theme=dark] .viewer-loading-card{
  background:rgba(18,20,25,.9);
  border-color:rgba(255,255,255,.1);
}
html[data-theme=dark] .viewer-loading-card strong{color:#f8fafc}
html[data-theme=dark] .viewer-loading-card>span:not(.viewer-loading-spinner){color:#d1d5db}
html[data-theme=dark] .viewer-loading-card small{color:#9ca3af}

@media(max-width:760px){
  .viewer-loading-screen{padding:calc(82px + env(safe-area-inset-top)) 20px calc(96px + env(safe-area-inset-bottom))}
  .viewer-loading-card{width:min(340px,calc(100vw - 40px));padding:22px 18px;border-radius:22px}
}

@media(prefers-reduced-motion:reduce){
  .viewer-loading-screen,.file-workspace .viewer-bottom-dock,.file-workspace .viewer-file-status{transition:none}
  .viewer-loading-spinner{animation-duration:1.4s}
}
