/* Copyright (c) 2026 Federico Pereira <lord.basex@gmail.com> */
/* The go-link logo while the page starts: plain CSS, loaded before the app,
   because the site's CSP allows no inline styles. */
#splash { position: fixed; inset: 0; z-index: 1000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; background: #0e1016; transition: opacity 320ms ease, visibility 320ms ease; }
#splash.is-gone { opacity: 0; visibility: hidden; pointer-events: none; }
.splash-logo { display: flex; align-items: center; gap: 22px; animation: splash-in 700ms ease-out both; }
.splash-mark { width: 96px; height: 96px; border-radius: 24px; background: #f2a33a; color: #1a1206; display: flex; align-items: center; justify-content: center; box-shadow: 0 18px 60px rgb(242 163 58 / 0.35); }
.splash-name { font-family: "Chakra Petch", system-ui, sans-serif; font-weight: 700; font-size: 64px; letter-spacing: 0.02em; color: #e9ecf2; }
.splash-name span { color: #f2a33a; }
.splash-bar { width: 180px; height: 4px; border-radius: 999px; background: #232937; overflow: hidden; }
.splash-bar i { display: block; width: 40%; height: 100%; border-radius: 999px; background: #f2a33a; animation: splash-bar 1.1s ease-in-out infinite; }
@keyframes splash-in { from { opacity: 0; transform: scale(0.94); } to { opacity: 1; transform: none; } }
@keyframes splash-bar { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }
@media (max-width: 560px) {
  .splash-mark { width: 64px; height: 64px; border-radius: 16px; }
  .splash-mark svg { width: 38px; height: 38px; }
  .splash-name { font-size: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .splash-logo, .splash-bar i { animation: none; }
}
/* The light theme's loading screen (public/theme.js sets data-theme first). */
:root[data-theme="light"] #splash { background: #f3f4f7; }
:root[data-theme="light"] .splash-name { color: #141821; }
:root[data-theme="light"] .splash-bar { background: #e5e8ee; }
:root[data-theme="light"] .splash-mark { box-shadow: 0 18px 50px rgb(232 144 28 / 0.3); }
