/* ProfilerQA browser edition: the loading screen around the app (the app has its own CSS). */
:root {
  --bg: #f6f7f9; --card: #ffffff; --ink: #1d2330; --muted: #5d6676; --accent: #2a62c9;
  --bar: #e3e7ee; --err: #b3261e;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #14171d; --card: #1d2129; --ink: #e8ebf1; --muted: #a3abba; --accent: #7aa7ff;
    --bar: #2c323d; --err: #ff8a80;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #14171d; --card: #1d2129; --ink: #e8ebf1; --muted: #a3abba; --accent: #7aa7ff;
  --bar: #2c323d; --err: #ff8a80;
  color-scheme: dark;
}
html, body { margin: 0; height: 100%; background: var(--bg); color: var(--ink);
  font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.boot { min-height: 100%; display: grid; place-items: center; padding: 16px; box-sizing: border-box; }
.boot-card { width: 100%; max-width: 420px; background: var(--card); border-radius: 12px;
  padding: 28px 24px; box-shadow: 0 1px 3px rgb(0 0 0 / .12); box-sizing: border-box; }
.boot-card h1 { margin: 0 0 8px; font-size: 22px; }
.small { font-size: 13px; color: var(--muted); }
.error { color: var(--err); white-space: pre-wrap; }
.small a { color: var(--accent); }
#app { position: fixed; inset: 0; width: 100%; height: 100%; border: 0; background: var(--bg); }
/* progress bars: this page's tokens */
:root { --pg-track: var(--bar); --pg-fill: var(--accent); --pg-text: var(--ink); }
/* ---- progress bars (docs/PROGRESS.md): begin shared block ----
   The same block in web/static/web.css, browser/quick/quick.css and browser/shell.css
   (tests/test_web.py checks); each sheet sets --pg-track, --pg-fill and --pg-text from its
   own theme tokens. Determinate: the fill's width (set by progress.js or the macro).
   Indeterminate: a moving segment; with reduced motion a static hatched band. */
.pqa-progress { margin: 10px 0 4px; }
.pqa-progress[hidden] { display: none; }
.pqa-progress-track { position: relative; height: 6px; border-radius: 999px; background: var(--pg-track); overflow: hidden; }
.pqa-progress-fill { display: block; height: 100%; width: 0; border-radius: inherit; background: var(--pg-fill); transition: width 0.2s ease-out; }
.pqa-progress.is-indeterminate .pqa-progress-fill { position: absolute; top: 0; left: 0; width: 30%; animation: pqa-progress-slide 1.4s ease-in-out infinite; }
.pqa-progress.is-ended .pqa-progress-track { display: none; }
.pqa-progress-text { margin: 4px 0 0; font-size: 12.5px; line-height: 1.4; color: var(--pg-text); overflow-wrap: anywhere; }
.pqa-progress-text:empty { display: none; }
.pqa-progress-sm .pqa-progress-track { height: 4px; }
.pqa-progress-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; margin: 0; pointer-events: none; }
.pqa-progress-nav .pqa-progress-track { height: 3px; border-radius: 0; background: transparent; }
.pqa-progress-nav .pqa-progress-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
@keyframes pqa-progress-slide { from { transform: translateX(-100%); } to { transform: translateX(340%); } }
@media (prefers-reduced-motion: reduce) {
  .pqa-progress-fill { transition: none; }
  .pqa-progress.is-indeterminate .pqa-progress-fill { animation: none; width: 100%; opacity: 0.55;
    background: repeating-linear-gradient(-45deg, var(--pg-fill) 0 6px, transparent 6px 12px); }
}
@media (forced-colors: active) {
  .pqa-progress-track { border: 1px solid CanvasText; }
  .pqa-progress-fill { background: Highlight; }
}
/* ---- progress bars: end shared block ---- */
