/* Première peinture uniquement. La feuille complète est préchargée puis appliquée par boot.js dès que le
   document devient interactif. Chaque mesure ci-dessous recopie la règle canonique de main.css : le passage
   de l'une à l'autre ne doit donc déplacer ni le logo ni le pitch. */
#desktop-screen .os-launcher,
#desktop-screen .os-launcher-card,
#desktop-screen .os-logo,
#desktop-screen .os-launch-wip,
#desktop-screen .os-launch-pitch,
#desktop-screen .os-launch-acct { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }

#theme-toggle { position: fixed; top: 7px; right: 10px; z-index: 210; }
#landing-bg {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}

#desktop-screen {
  position: fixed;
  inset: 0;
  height: 100vh;
  overflow: hidden;
  color: #1d1d1f;
  background: radial-gradient(130% 90% at 50% 0%, #eef1f5 0%, #e4e8ee 58%, #dbe0e7 100%);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
[data-theme="dark"] #desktop-screen {
  color: #f2f2f4;
  background: radial-gradient(130% 90% at 50% 0%, #232730 0%, #191c22 58%, #141619 100%);
}

#desktop-screen .os-launcher {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  padding: 28px 20px;
  overflow: auto;
}
#desktop-screen .os-launcher-card {
  width: 460px;
  max-width: 100%;
  padding: 30px 30px 26px;
  text-align: center;
  color: #1d1d1f;
  background: rgba(255,255,255,.80);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}
[data-theme="dark"] #desktop-screen .os-launcher-card {
  color: #f2f4f8;
  background: rgba(28,28,30,.62);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 24px 70px rgba(0,0,0,.45);
}
#desktop-screen .os-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
#desktop-screen .os-logo-mark {
  display: block;
  filter: drop-shadow(0 6px 16px rgba(0,0,0,.28));
  image-rendering: pixelated;
}
#desktop-screen .os-logo-word {
  font-family: 'Silkscreen', 'Oxanium', ui-monospace, monospace;
  font-size: 22px;
  letter-spacing: 3px;
  font-weight: 400;
}
#desktop-screen .os-logo-word b { font-weight: 700; }
#desktop-screen .os-launch-wip {
  display: flex;
  min-height: 50px;
  margin: 0 0 14px;
  padding: 9px 11px;
  color: #8a5a00;
  background: rgba(240,180,41,.16);
  border: .5px solid rgba(240,180,41,.5);
  border-radius: 10px;
}
[data-theme="dark"] #desktop-screen .os-launch-wip {
  color: #f3c969;
  background: rgba(240,180,41,.14);
  border-color: rgba(240,180,41,.4);
}
#desktop-screen .os-launch-pitch {
  margin: 0 0 16px;
  font-size: 13.5px;
  line-height: 1.55;
  opacity: .9;
}
#desktop-screen .os-launch-acct {
  margin-top: 16px;
  font-size: 11.5px;
  opacity: .72;
}
[data-landing-shell] [data-shell-pitch="en"] { display: none; }
html[lang="en"] [data-landing-shell] [data-shell-pitch="fr"] { display: none; }
html[lang="en"] [data-landing-shell] [data-shell-pitch="en"] { display: block; }
