/* The intro is only enabled by JS on the first visit in this tab. */
html.intro-loading::before {
  content: "";
  position: fixed;
  inset: 0;
  background: var(--bg, #080809);
  z-index: 9999;
}
.entry-loader {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 24px;
  border: 0;
  border-radius: 0;
  background: var(--bg);
  color: var(--text);
  box-shadow: none;
  overflow: hidden;
}
.entry-loader[open] { display: grid; place-items: center; animation: none; }
.entry-loader::backdrop { background: var(--bg); backdrop-filter: none; animation: none; }
.entry-loader::before { content: ""; position: absolute; width: min(700px, 120vw); aspect-ratio: 1; background: radial-gradient(circle, #bc794d18, transparent 65%); pointer-events: none; }
.entry-loader-content { position: relative; width: min(340px, 100%); text-align: center; }
.entry-loader-mark { display: grid; place-items: center; width: 94px; height: 94px; margin: 0 auto 32px; border: 1px solid #bb815d55; border-radius: 26px; color: var(--orange); background: var(--panel); font: 500 34px/1 ui-monospace, Consolas, monospace; animation: loader-mark 1.5s ease-in-out infinite alternate; }
.entry-loader .entry-loader-name { margin: 0; padding: 0; font-size: clamp(32px, 7vw, 42px); font-weight: 700; letter-spacing: -1.8px; color: var(--text); line-height: 1.2; }
.entry-loader-name span { color: var(--orange); }
.entry-loader .entry-loader-subtitle { margin: 14px 0 36px; font-size: 11px; letter-spacing: 2.5px; color: var(--muted); }
.entry-loader-track { height: 2px; overflow: hidden; background: #80808030; border-radius: 2px; }
.entry-loader-track span { display: block; width: 42%; height: 100%; background: var(--orange); animation: loader-scan 1.2s ease-in-out infinite; }
.entry-loader .entry-loader-status { margin: 16px 0 0; font-size: 12px; color: var(--muted); }
.entry-loader-skip { margin-top: 30px; padding: 10px 16px; border: 1px solid #80808035; border-radius: 30px; color: var(--muted); background: transparent; font-size: 12px; }
.entry-loader.entry-loader-leave { opacity: 0; transition: opacity .3s ease; }
@keyframes loader-mark { from { transform: translateY(3px); } to { transform: translateY(-4px); border-color: var(--orange); } }
@keyframes loader-scan { from { transform: translateX(-110%); } to { transform: translateX(350%); } }
@media (prefers-reduced-motion: reduce) {
  .entry-loader *, .entry-loader.entry-loader-leave { animation: none !important; transition: none; }
}
@media print { html.intro-loading::before, .entry-loader { display: none !important; } }
