/* Same logo, rotating ring and quiet preview bars as the workspace loader.
   Content is never hidden by CSS: if the bootstrap fails, the page stays usable. */
.page-loading-screen { position:fixed;inset:0;z-index:1800;display:grid;place-items:center;padding:24px;background:var(--paper,#f7f8fa);color:var(--ink,#202b3d);font:400 13px/1.5 var(--ui,system-ui,-apple-system,"Segoe UI",sans-serif); }
.page-loading-panel { width:min(100%,420px);padding:30px 24px;text-align:center; }
.page-loading-symbol { position:relative;display:grid;place-items:center;width:72px;height:72px;margin:0 auto 25px;border-radius:22px;background:var(--raise,#fff);box-shadow:var(--shadow,0 8px 32px #202b3d14); }
.page-loading-symbol::before { content:"";position:absolute;inset:-5px;border:2px solid var(--rule,#e4e8ee);border-top-color:var(--mark,#b94a24);border-radius:50%;animation:page-loading-turn 1.35s linear infinite; }
.page-loading-symbol img { display:block;width:36px;height:36px;border-radius:9px; }
.page-loading-title { margin:0 0 8px;color:inherit;font-size:22px;font-weight:500;letter-spacing:-.025em;line-height:1.4; }
.page-loading-copy { margin:0;color:var(--quiet,#5d697b);font-size:13px; }
.page-loading-preview { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:264px;margin:28px auto 0; }
.page-loading-preview span { display:block;height:5px;border-radius:5px;background:var(--rule,#e4e8ee);animation:page-loading-pulse 1.4s ease-in-out infinite; }
.page-loading-preview span:nth-child(2) { animation-delay:.15s; }
.page-loading-preview span:nth-child(3) { animation-delay:.3s; }
@keyframes page-loading-turn { to { transform:rotate(360deg); } }
@keyframes page-loading-pulse { 0%,100% { opacity:.45; } 50% { opacity:1; } }
@media(max-width:600px) { .page-loading-panel { padding-inline:10px; } .page-loading-title { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { .page-loading-symbol::before,.page-loading-preview span { animation:none; } }

/* Honor the early theme choice before another page's token sheet arrives. */
:root[data-theme="dark"] .page-loading-screen { background:var(--paper,#101720);color:var(--ink,#edf1f7); }
:root[data-theme="dark"] .page-loading-symbol { background:var(--raise,#18222f); }
:root[data-theme="dark"] .page-loading-symbol::before { border-color:var(--rule,#2b394a);border-top-color:var(--mark,#ffab7f); }
:root[data-theme="dark"] .page-loading-copy { color:var(--quiet,#a8b5c7); }
:root[data-theme="dark"] .page-loading-preview span { background:var(--rule,#2b394a); }
