/* Diagnostic de session : affichage seulement, aucune commande exécutée. */
html { overflow-x: clip; }
body.session-locked { overflow: hidden; }
.boot-activity { display: none; }
.intro.booting .boot-emblem { display: none; }
.intro.booting .boot-window-head { font-size: 11px; letter-spacing: .12em; }
.intro.booting .boot-log {
  top: 7rem; left: 4vw; width: 44vw; height: calc(100svh - 16rem);
  max-height: none; padding: 1.25rem; overflow-y: auto;
  scrollbar-width: thin; scrollbar-color: #7782a455 transparent;
  font-size: clamp(10px, .9vw, 13px); line-height: 1.7;
}
.intro.booting .boot-log .boot-step {
  display: flex; align-items: baseline; gap: 1rem; white-space: normal;
  margin: 0 0 .48rem; color: #b8c4dd;
}
.boot-step > span { flex: 1; }
.boot-step b { font-size: .8em; font-weight: 500; color: #a7d6c4; white-space: nowrap; }
.boot-step.is-pending > span { color: #f3f5ff; }
.boot-step.is-pending b { color: #b8c9ff; }
.intro.booting .boot-activity {
  position: absolute; display: flex; flex-direction: column; right: 4vw; top: 7rem;
  width: 44vw; height: calc(100svh - 16rem); margin: 0; overflow: hidden;
  border: 1px solid #dce4ff29; border-radius: .5rem;
  background: #070a1380; box-shadow: 0 1.5rem 4rem #0003; backdrop-filter: blur(8px);
}
.boot-activity-header { display: flex; justify-content: space-between; padding: 1rem 1.2rem; border-bottom: 1px solid #dce4ff1f; color: #dce4ff; font-size: 11px; }
.boot-activity-header span:last-child { color: #8493b0; font-size: 9px; letter-spacing: .1em; }
.boot-code { padding: 1.1rem 1.2rem; flex: 1; overflow: hidden; }
.boot-code p { margin: 0 0 .9rem; color: #b3c7ee; font: 12px/1.7 var(--mono); overflow-wrap: anywhere; }
.boot-code p:last-child { color: #edf2ff; }
.boot-code p:last-child::after { content: '▌'; margin-left: 2px; color: #b5caff; animation: terminal-cursor 1s steps(1) infinite; }
.boot-metrics { display: flex; flex-wrap: wrap; gap: 1.2rem; padding: .9rem 1.2rem; border-top: 1px solid #dce4ff1f; color: #8190af; font-size: 9px; letter-spacing: .05em; }
.boot-metrics b { margin-left: .4rem; color: #bccbea; font-weight: 400; }
.intro.booting .boot-progress-wrap { bottom: 2rem; left: 4vw; right: 4vw; width: auto; }
.player-controls button:disabled { opacity: .3; cursor: default; }
.record.has-profile.playing { animation: none; }
@media (max-width: 850px) { .site-header { top: 0; left: 0; } }
@keyframes terminal-cursor { 50% { opacity: 0; } }
@media (max-width: 680px) {
  .intro.booting .boot-window-head { top: 1.25rem; left: 1.25rem; width: calc(100% - 2.5rem); font-size: 10px; }
  .intro.booting .boot-log { top: 4.5rem; left: 1.25rem; width: calc(100% - 2.5rem); height: calc((100svh - 13rem) * .53); padding: .85rem; font-size: 10px; }
  .intro.booting .boot-activity { top: auto; bottom: 7rem; right: 1.25rem; width: calc(100% - 2.5rem); height: calc((100svh - 13rem) * .47); }
  .boot-activity-header { padding: .7rem .85rem; font-size: 10px; }
  .boot-code { padding: .75rem .85rem; overflow-y: auto; }
  .boot-code p { font-size: 10px; margin-bottom: .5rem; }
  .boot-metrics { display: none; }
  .intro.booting .boot-progress-wrap { left: 1.25rem; right: 1.25rem; bottom: 1.1rem; padding: .7rem; }
  .boot-progress-wrap p { font-size: 9px; letter-spacing: .04em; }
}
@media (max-height: 500px) and (min-width: 681px) {
  .intro.booting .boot-log, .intro.booting .boot-activity { top: 5rem; height: calc(100svh - 12rem); }
  .intro.booting .boot-progress-wrap { bottom: 1rem; padding: .6rem; }
}
@media (prefers-reduced-motion: reduce) { .boot-code p:last-child::after { animation: none; } }
