/* Arcade Musicale 8.2.6 — expérience Arcade Live centrée sur les joueurs. */

body.atlas-musical-live-page,
body.atlas-musical-live-page #page,
body.atlas-musical-live-page .site,
body.atlas-musical-live-page .site-inner,
body.atlas-musical-live-page .site-content,
body.atlas-musical-live-page .content-area,
body.atlas-musical-live-page main.site-main,
body.atlas-musical-live-page article.page,
body.atlas-musical-live-page .entry-content,
body.atlas-musical-live-page .post-content,
body.atlas-musical-live-page .page-content,
body.atlas-musical-live-page .wp-block-post-content {
  background: #080c18 !important;
  background-color: #080c18 !important;
  max-width: none !important;
}

body.atlas-musical-live-page {
  -webkit-text-size-adjust: 100%;
  margin: 0;
  min-height: 100vh;
  min-height: 100svh;
  overflow-x: hidden;
  overscroll-behavior-x: none;
  text-size-adjust: 100%;
}

body.atlas-musical-live-page .entry-title,
body.atlas-musical-live-page .page-title,
body.atlas-musical-live-page .wp-block-post-title { display: none !important; }

@supports selector(:has(*)) {
  body.atlas-musical-live-page .entry-header:has(> .entry-title:empty),
  body.atlas-musical-live-page .page-header:has(> .page-title:empty) { display: none !important; }
}

body.atlas-musical-live-page .entry-content,
body.atlas-musical-live-page .post-content,
body.atlas-musical-live-page .page-content,
body.atlas-musical-live-page .wp-block-post-content {
  margin: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  width: 100% !important;
}

.arcade-musicale-live {
  --aml-bg: #080c18;
  --aml-surface: #101727;
  --aml-surface-2: #151f34;
  --aml-surface-3: #1b2740;
  --aml-ink: #f7f8ff;
  --aml-muted: #aab4ca;
  --aml-line: rgba(255, 255, 255, .11);
  --aml-line-strong: rgba(255, 255, 255, .2);
  --aml-violet: #ad83ff;
  --aml-violet-strong: #8e5df2;
  --aml-cyan: #55d9ef;
  --aml-green: #56d5a3;
  --aml-yellow: #ffd166;
  --aml-red: #ff7891;
  --aml-shadow: 0 24px 80px rgba(0, 0, 0, .36);
  background: var(--aml-bg);
  color: var(--aml-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  font-synthesis: none;
  line-height: 1.5;
  margin: 0 calc(50% - 50vw);
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  position: relative;
  text-align: left;
  width: 100vw;
}

@supports (min-height: 100dvh) {
  body.atlas-musical-live-page,
  .arcade-musicale-live { min-height: 100dvh; }
}

.arcade-musicale-live *,
.arcade-musicale-live *::before,
.arcade-musicale-live *::after { box-sizing: border-box; }
.arcade-musicale-live :where(button, input, select) { font: inherit; }
.arcade-musicale-live :where(button, [role="button"], input, select, summary, a) { touch-action: manipulation; }
.arcade-musicale-live :where(button, [role="button"], input, select, summary) { min-height: 44px; }
.arcade-musicale-live button { color: inherit; }
.arcade-musicale-live a { color: var(--aml-cyan); }
.arcade-musicale-live :where(h1, h2, h3, p) { margin-top: 0; }
.arcade-musicale-live :where(h1, h2, h3) { color: var(--aml-ink); line-height: 1.08; }
.arcade-musicale-live :focus-visible { outline: 3px solid var(--aml-yellow); outline-offset: 3px; }
.arcade-musicale-live .screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute !important; white-space: nowrap; width: 1px; }

.aml-skip-link { background: #fff; border-radius: 0 0 10px 10px; color: #080c18 !important; font-weight: 850; left: 16px; padding: 10px 15px; position: fixed; top: -100px; z-index: 10000; }
.aml-skip-link:focus { top: 0; }

.aml-ambient { inset: 0; overflow: hidden; pointer-events: none; position: absolute; }
.aml-ambient span { border-radius: 999px; filter: blur(1px); opacity: .13; position: absolute; }
.aml-ambient span:nth-child(1) { background: var(--aml-violet); height: 42vw; max-height: 620px; max-width: 620px; right: -14vw; top: -18vw; width: 42vw; }
.aml-ambient span:nth-child(2) { background: var(--aml-cyan); bottom: 15%; height: 28vw; left: -17vw; max-height: 420px; max-width: 420px; width: 28vw; }
.aml-ambient span:nth-child(3) { background: var(--aml-green); height: 220px; left: 46%; opacity: .05; top: 42%; width: 220px; }

.aml-header {
  align-items: center;
  background: rgba(8, 12, 24, .96);
  border-bottom: 1px solid var(--aml-line);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  min-height: 76px;
  padding: 13px max(20px, env(safe-area-inset-right), calc((100vw - 1280px) / 2)) 13px max(20px, env(safe-area-inset-left), calc((100vw - 1280px) / 2));
  position: relative;
  z-index: 2;
}
.aml-brand { align-items: center; color: var(--aml-ink) !important; display: inline-flex; gap: 12px; text-decoration: none !important; }
.aml-brand-mark { align-items: center; background: linear-gradient(145deg, var(--aml-violet), #6b40ca); border-radius: 14px; box-shadow: 0 8px 25px rgba(142, 93, 242, .3); display: flex; flex: 0 0 46px; height: 46px; justify-content: center; width: 46px; }
.aml-brand-mark svg { fill: #fff; height: 31px; width: 31px; }
.aml-brand strong, .aml-brand small { display: block; }
.aml-brand strong { font-size: 1rem; line-height: 1.2; }
.aml-brand small { color: var(--aml-muted); font-size: .75rem; font-weight: 720; letter-spacing: .08em; margin-top: 2px; text-transform: uppercase; }
.aml-capacity { align-items: center; background: rgba(86, 213, 163, .08); border: 1px solid rgba(86, 213, 163, .22); border-radius: 999px; color: #dfffee; display: inline-flex; font-size: .78rem; font-weight: 780; gap: 8px; padding: 8px 13px; }
.aml-capacity-dot { color: var(--aml-green); font-size: .65rem; }
.aml-capacity-copy { color: inherit; }

.aml-main { margin: 0 auto; max-width: 1280px; min-height: calc(100svh - 152px); outline: none; padding: clamp(28px, 5vw, 68px) max(20px, env(safe-area-inset-right)) 72px max(20px, env(safe-area-inset-left)); position: relative; z-index: 1; }
.aml-shell { margin: 0 auto; max-width: 1180px; }
.aml-boot { align-items: center; background: var(--aml-surface); border: 1px solid var(--aml-line); border-radius: 24px; display: flex; gap: 16px; margin: 12vh auto 0; max-width: 520px; padding: 24px; }
.aml-boot strong, .aml-boot small { display: block; }
.aml-boot small { color: var(--aml-muted); margin-top: 3px; }
.aml-spinner { animation: aml-spin .8s linear infinite; border: 3px solid rgba(255, 255, 255, .15); border-radius: 50%; border-top-color: var(--aml-violet); flex: 0 0 34px; height: 34px; width: 34px; }
@keyframes aml-spin { to { transform: rotate(360deg); } }

.aml-intro { display: grid; gap: 28px; }
.aml-hero { margin: 0 auto; max-width: 850px; text-align: center; }
.aml-eyebrow { color: var(--aml-cyan); display: block; font-size: .76rem; font-weight: 900; letter-spacing: .13em; margin-bottom: 13px; text-transform: uppercase; }
.aml-hero h1 { font-size: clamp(2.2rem, 6vw, 5rem); letter-spacing: -.045em; margin-bottom: 16px; }
.aml-hero p { color: var(--aml-muted); font-size: clamp(1rem, 2vw, 1.2rem); margin: 0 auto; max-width: 690px; }
.aml-entry-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 auto; max-width: 1040px; }
.aml-entry-grid.is-single { grid-template-columns: minmax(0, 620px); justify-content: center; }

.aml-card { background: rgba(16, 23, 39, .96); border: 1px solid var(--aml-line); border-radius: 24px; box-shadow: var(--aml-shadow); padding: clamp(20px, 3.5vw, 34px); }
.aml-card h1 { font-size: clamp(1.7rem, 4vw, 2.5rem); margin-bottom: 9px; }
.aml-card h2 { font-size: clamp(1.35rem, 3vw, 1.9rem); margin-bottom: 8px; }
.aml-card h3 { font-size: 1rem; }
.aml-card > p, .aml-helper { color: var(--aml-muted); }
.aml-card-badge { align-items: center; background: var(--aml-surface-3); border-radius: 14px; display: inline-flex; font-size: 1.45rem; height: 48px; justify-content: center; margin-bottom: 16px; width: 48px; }

.aml-form { display: grid; gap: 18px; margin-top: 24px; }
.aml-field { display: grid; gap: 7px; }
.aml-field > span, .aml-fieldset legend { color: #dfe5f4; font-size: .78rem; font-weight: 820; letter-spacing: .035em; }
.aml-field > small { color: var(--aml-muted); font-size: .68rem; line-height: 1.35; }
.aml-field input, .aml-field select {
  appearance: none;
  background: #0b1120;
  border: 1px solid var(--aml-line-strong);
  border-radius: 13px;
  color: var(--aml-ink);
  font-size: 1rem;
  min-width: 0;
  padding: 11px 13px;
  width: 100%;
}
.aml-field input::placeholder { color: #74809b; }
.aml-code-input { font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important; font-size: 1.35rem !important; font-weight: 900; letter-spacing: .16em; text-align: center; text-transform: uppercase; }
.aml-form-row { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aml-fieldset { border: 0; margin: 0; padding: 0; }
.aml-fieldset legend { margin-bottom: 10px; }
.aml-game-checks { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aml-game-check { align-items: center; background: #0c1322; border: 1px solid var(--aml-line); border-radius: 12px; cursor: pointer; display: flex; gap: 9px; min-height: 46px; padding: 8px 10px; }
.aml-game-check:has(input:checked) { background: rgba(173, 131, 255, .12); border-color: rgba(173, 131, 255, .45); }
.aml-game-check input { accent-color: var(--aml-violet); height: 18px; margin: 0; width: 18px; }
.aml-game-check span { font-size: .78rem; font-weight: 750; }
.aml-host-player-choice { background: rgba(173, 131, 255, .06); border: 1px solid rgba(173, 131, 255, .2); border-radius: 15px; display: grid; gap: 12px; padding: 12px; }
.aml-host-player-choice > small { color: var(--aml-muted); font-size: .72rem; line-height: 1.45; }
.aml-host-player-toggle { background: transparent; border: 0; min-height: 34px; padding: 3px; }
.aml-host-player-choice .aml-field { margin-top: 1px; }
.aml-fixed-setting { background: #0b1120; border: 1px solid var(--aml-line-strong); border-radius: 13px; display: grid; gap: 3px; min-height: 72px; padding: 10px 13px; }
.aml-fixed-setting > span { color: #dfe5f4; font-size: .78rem; font-weight: 820; letter-spacing: .035em; }
.aml-fixed-setting strong { color: #fff; font-size: 1rem; }
.aml-fixed-setting small { color: var(--aml-muted); font-size: .68rem; line-height: 1.35; }
.aml-privacy-note { align-items: flex-start; background: rgba(85, 217, 239, .06); border: 1px solid rgba(85, 217, 239, .17); border-radius: 12px; color: #c2d5de; display: flex; font-size: .75rem; gap: 9px; line-height: 1.45; padding: 10px 12px; }

.aml-button { align-items: center; border: 1px solid transparent; border-radius: 13px; cursor: pointer; display: inline-flex; font-size: .88rem; font-weight: 850; gap: 8px; justify-content: center; line-height: 1.25; min-height: 48px; padding: 11px 17px; text-decoration: none !important; }
.aml-button-primary { background: linear-gradient(135deg, var(--aml-violet), var(--aml-violet-strong)); box-shadow: 0 9px 25px rgba(142, 93, 242, .22); color: #fff !important; }
.aml-button-secondary { background: var(--aml-surface-3); border-color: var(--aml-line-strong); color: var(--aml-ink) !important; }
.aml-button-danger { background: rgba(255, 120, 145, .1); border-color: rgba(255, 120, 145, .35); color: #ffdce3 !important; }
.aml-stop-game { min-width: 44px; white-space: nowrap; }
.aml-button:disabled { box-shadow: none; cursor: not-allowed; opacity: .45; }
.aml-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.aml-actions.is-centered { justify-content: center; }

.aml-room { display: grid; gap: 18px; }
.aml-roombar { align-items: center; background: rgba(16, 23, 39, .96); border: 1px solid var(--aml-line); border-radius: 18px; display: flex; gap: 14px; justify-content: space-between; padding: 14px 18px; }
.aml-roombar-main { align-items: center; display: flex; flex: 1 1 auto; flex-wrap: wrap; gap: 13px; min-width: 0; }
.aml-room-code { align-items: baseline; display: inline-flex; gap: 8px; }
.aml-room-code span { color: var(--aml-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.aml-room-code strong { color: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1.75rem; letter-spacing: .14em; }
.aml-room-phase { background: rgba(85, 217, 239, .08); border: 1px solid rgba(85, 217, 239, .2); border-radius: 999px; color: #dffaff; font-size: .72rem; font-weight: 800; padding: 6px 10px; }
.aml-roombar .aml-button { min-height: 44px; padding-block: 8px; }

.aml-lobby-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); }
.aml-code-stage { align-items: center; background: radial-gradient(circle at 50% 0, rgba(173, 131, 255, .17), transparent 60%), var(--aml-surface); display: flex; flex-direction: column; justify-content: center; min-height: 330px; text-align: center; }
.aml-code-stage > span { color: var(--aml-muted); font-size: .76rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.aml-code-stage strong { color: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(3.2rem, 10vw, 6.5rem); letter-spacing: .16em; line-height: 1.15; margin: 14px 0 20px .16em; text-shadow: 0 8px 35px rgba(173, 131, 255, .25); }
.aml-code-stage p { color: var(--aml-muted); margin-bottom: 20px; max-width: 520px; }
.aml-lobby-side { display: grid; gap: 18px; }
.aml-player-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 15px; }
.aml-player-head h2 { margin: 0; }
.aml-count { background: rgba(86, 213, 163, .1); border-radius: 999px; color: #dfffee; font-size: .76rem; font-weight: 850; padding: 6px 10px; }
.aml-player-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; max-height: 250px; overflow: auto; padding: 1px; }
.aml-player-list li { background: var(--aml-surface-3); border: 1px solid var(--aml-line); border-radius: 999px; color: #e7ebf5; font-size: .78rem; font-weight: 740; max-width: 100%; overflow: hidden; padding: 7px 11px; text-overflow: ellipsis; white-space: nowrap; }
.aml-player-list li:has(button) { padding: 0; }
.aml-player-list button { align-items: center; background: transparent; border: 0; cursor: pointer; display: inline-flex; gap: 8px; max-width: 100%; min-height: 44px; min-width: 44px; padding: 7px 11px; transition: background-color .16s ease, color .16s ease; }
.aml-player-list button > span:first-child { overflow: hidden; text-decoration: none; text-overflow: ellipsis; transition: color .16s ease, opacity .16s ease; white-space: nowrap; }
.aml-player-list button:hover > span:first-child,
.aml-player-list button:focus-visible > span:first-child { color: #ffb4c2; opacity: .82; text-decoration-line: line-through; text-decoration-thickness: 2px; }
.aml-player-head > div { min-width: 0; }
.aml-player-head small { color: var(--aml-muted); display: block; font-size: .68rem; margin-top: 4px; }
.aml-empty { color: var(--aml-muted); font-size: .85rem; margin: 0; }
.aml-sound-card { background: rgba(85, 217, 239, .06); border-color: rgba(85, 217, 239, .17); }
.aml-sound-card.is-muted { background: rgba(170, 180, 202, .05); border-color: var(--aml-line); }
.aml-sound-status { align-items: flex-start; display: flex; gap: 12px; }
.aml-sound-status > span { font-size: 1.45rem; }
.aml-sound-status strong, .aml-sound-status small { display: block; }
.aml-sound-status small { color: var(--aml-muted); margin-top: 3px; }
.aml-sound-status .aml-button { margin-top: 14px; width: 100%; }

.aml-invite-tools { align-items: center; display: flex; flex-wrap: wrap; gap: 13px; justify-content: center; position: relative; z-index: 1; }
.aml-qr-button { align-items: center; background: #fff; border: 0; border-radius: 17px; box-shadow: 0 14px 38px rgba(0, 0, 0, .34); color: #11172a !important; cursor: zoom-in; display: flex; flex-direction: column; gap: 7px; min-height: 132px; padding: 10px; transition: transform .18s ease, box-shadow .18s ease; }
.aml-qr-button:hover { box-shadow: 0 18px 46px rgba(0, 0, 0, .42); transform: translateY(-2px); }
.aml-qr-button > span:last-child { font-size: .67rem; font-weight: 900; letter-spacing: .03em; }
.aml-qr-svg { align-items: center; background: #fff; display: flex; justify-content: center; }
.aml-qr-svg svg { display: block; height: 88px; width: 88px; }
.aml-qr-svg.is-large svg { height: min(50vmin, 400px); width: min(50vmin, 400px); }
.aml-qr-unavailable { color: #70253a; display: inline-flex; font-size: .72rem; font-weight: 850; padding: 24px 10px; }
.aml-qr-dialog { background: #fff; border: 0; border-radius: 28px; box-shadow: 0 34px 100px rgba(0, 0, 0, .65); box-sizing: border-box; color: #11172a; max-height: calc(100svh - 28px); max-width: min(680px, calc(100vw - 28px)); overflow-x: hidden; overflow-y: auto; padding: clamp(20px, 3.5vw, 32px); text-align: center; width: min(680px, calc(100vw - 28px)); }
.aml-qr-dialog::backdrop { backdrop-filter: blur(10px); background: rgba(4, 7, 16, .82); }
.aml-qr-code-label { align-items: baseline; box-sizing: border-box; color: #6d45d8; display: inline-flex; flex-wrap: wrap; font-size: clamp(1.05rem, 2.8vw, 1.45rem); font-weight: 850; gap: 5px 9px; justify-content: center; letter-spacing: .02em; margin: 0 0 5px; padding-inline: 48px; width: 100%; }
.aml-qr-code-label strong { color: #11172a; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1.35em; letter-spacing: .12em; line-height: inherit; margin: 0; text-shadow: none; }
.aml-qr-dialog h2 { color: #11172a; font-size: clamp(1.65rem, 4vw, 2.65rem); margin: 4px 0 12px; }
.aml-qr-dialog p { color: #566078; margin: 10px 0 0; }
.aml-qr-close { align-items: center; background: #edf0f7; border: 0; border-radius: 50%; color: #11172a !important; cursor: pointer; display: flex; font-size: 1.7rem; height: 44px; justify-content: center; line-height: 1; padding: 0; position: absolute; right: 13px; top: 13px; width: 44px; }

.aml-question-layout { display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) 280px; }
.aml-question-card { min-height: 490px; position: relative; }
.aml-question-head { align-items: center; display: flex; gap: 13px; justify-content: space-between; margin-bottom: 25px; }
.aml-question-kicker { align-items: center; color: var(--aml-cyan); display: inline-flex; font-size: .76rem; font-weight: 850; gap: 7px; letter-spacing: .06em; text-transform: uppercase; }
.aml-progress-label { color: var(--aml-muted); font-size: .78rem; font-weight: 750; }
.aml-question-card h1 { font-size: clamp(1.7rem, 4vw, 3rem); margin: 0 auto 13px; max-width: 850px; text-align: center; }
.aml-context { color: var(--aml-muted); margin: 0 auto 22px; max-width: 760px; text-align: center; }
.aml-timer-wrap { align-items: center; display: flex; gap: 11px; justify-content: center; margin-bottom: 22px; }
.aml-timer { align-items: center; background: var(--aml-surface-3); border: 1px solid var(--aml-line); border-radius: 999px; display: inline-flex; font-variant-numeric: tabular-nums; font-weight: 900; justify-content: center; min-height: 42px; min-width: 82px; padding: 7px 13px; }
.aml-timer.is-warning { background: rgba(255, 209, 102, .11); border-color: rgba(255, 209, 102, .35); color: var(--aml-yellow); }
.aml-timer.is-critical { background: rgba(255, 120, 145, .11); border-color: rgba(255, 120, 145, .38); color: #ffd6de; }
.aml-timer-label { color: var(--aml-muted); font-size: .75rem; }
.aml-countdown { align-items: center; background: rgba(8, 12, 24, .91); border-radius: inherit; display: flex; flex-direction: column; inset: 0; justify-content: center; position: absolute; text-align: center; z-index: 4; }
.aml-countdown strong { font-size: clamp(4.5rem, 16vw, 9rem); line-height: 1; }
.aml-countdown span { color: var(--aml-muted); font-weight: 800; margin-top: 10px; }
.aml-countdown[hidden] { display: none; }

.aml-audio-box { align-items: center; background: rgba(85, 217, 239, .06); border: 1px solid rgba(85, 217, 239, .18); border-radius: 17px; display: flex; gap: 14px; justify-content: center; margin: 0 auto 22px; max-width: 610px; padding: 14px; }
.aml-audio-box > span { font-size: 1.5rem; }
.aml-audio-copy { flex: 1; min-width: 0; }
.aml-audio-copy strong, .aml-audio-copy small { display: block; }
.aml-audio-copy small { color: var(--aml-muted); font-size: .74rem; margin-top: 2px; }
.aml-audio-box .aml-button { flex: 0 0 auto; }

.aml-choice-grid { display: grid; gap: 11px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 auto; max-width: 850px; }
.aml-choice { align-items: center; background: var(--aml-surface-2); border: 1px solid var(--aml-line); border-radius: 15px; cursor: pointer; display: flex; gap: 13px; min-height: 68px; padding: 12px 14px; text-align: left; width: 100%; }
.aml-choice-index { align-items: center; background: #0a1020; border: 1px solid var(--aml-line); border-radius: 10px; color: var(--aml-muted); display: flex; flex: 0 0 34px; font-size: .75rem; font-weight: 900; height: 34px; justify-content: center; }
.aml-choice-copy { min-width: 0; }
.aml-choice-copy strong, .aml-choice-copy small { display: block; }
.aml-choice-copy strong { font-size: .9rem; }
.aml-choice-copy small { color: var(--aml-muted); font-size: .72rem; margin-top: 2px; }
.aml-choice:hover { border-color: rgba(173, 131, 255, .55); transform: translateY(-1px); }
.aml-choice.is-selected { background: rgba(173, 131, 255, .14); border-color: var(--aml-violet); }
.aml-choice:disabled { cursor: default; opacity: .6; transform: none; }

.aml-answer-submit { display: flex; justify-content: center; margin-top: 18px; }

.aml-orchestra-list { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 18px auto; max-width: 900px; }
.aml-orchestra-row { align-items: center; background: var(--aml-surface-2); border: 1px solid var(--aml-line); border-radius: 13px; display: grid; gap: 10px; grid-template-columns: minmax(120px, 1fr) minmax(150px, 1fr); padding: 10px 12px; }
.aml-orchestra-token { align-items: center; display: flex; font-size: .83rem; font-weight: 820; gap: 8px; min-width: 0; }
.aml-orchestra-row select { appearance: none; background: #0b1120; border: 1px solid var(--aml-line-strong); border-radius: 10px; color: var(--aml-ink); font-size: .8rem; min-width: 0; padding: 8px 10px; width: 100%; }

.aml-side-stack { display: grid; gap: 18px; align-content: start; }
.aml-stat-card { padding: 20px; }
.aml-stat-card > span { color: var(--aml-muted); display: block; font-size: .72rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.aml-stat-card > strong { display: block; font-size: 2rem; margin-top: 5px; }
.aml-stat-card > small { color: var(--aml-muted); }
.aml-mini-ranking { display: grid; gap: 7px; list-style: none; margin: 12px 0 0; padding: 0; }
.aml-mini-ranking li { align-items: center; display: grid; font-size: .76rem; gap: 7px; grid-template-columns: 24px minmax(0, 1fr) auto; }
.aml-mini-ranking li span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aml-mini-ranking strong { font-variant-numeric: tabular-nums; }

.aml-answered { background: rgba(132, 151, 182, .11); border: 1px solid rgba(155, 174, 209, .32); border-radius: 15px; color: #eef2fb; display: block; margin: 18px auto 0; max-width: 700px; padding: 14px 16px; text-align: left; }
.aml-answered > div { display: grid; gap: 4px; min-width: 0; width: 100%; }
.aml-answered strong, .aml-answered b, .aml-answered small, .aml-answered > div > span { display: block; }
.aml-answered > div > span { color: #d9e3f3; font-size: .76rem; }
.aml-answered b { color: #fff; font-size: .84rem; overflow-wrap: anywhere; }
.aml-answered small { color: var(--aml-muted); font-size: .72rem; margin-top: 3px; }

.aml-reveal-layout, .aml-results { display: grid; gap: 18px; }
.aml-reveal-card { background: radial-gradient(circle at 50% 0, rgba(86, 213, 163, .13), transparent 53%), var(--aml-surface); text-align: center; }
.aml-result-mark { align-items: center; background: rgba(86, 213, 163, .12); border: 1px solid rgba(86, 213, 163, .3); border-radius: 50%; display: flex; font-size: 2rem; height: 64px; justify-content: center; margin: 0 auto 16px; width: 64px; }
.aml-reveal-card h1 { font-size: clamp(1.65rem, 4.5vw, 3.1rem); margin-bottom: 11px; }
.aml-correct-answer { color: #dfffee; font-size: clamp(1.05rem, 2.5vw, 1.4rem); font-weight: 900; }
.aml-learning { background: rgba(255, 255, 255, .045); border: 1px solid var(--aml-line); border-radius: 14px; color: #d5dced; margin: 18px auto 0; max-width: 780px; padding: 13px 16px; }
.aml-source { color: var(--aml-muted); display: block; font-size: .7rem; margin-top: 12px; }
.aml-source a { word-break: break-word; }
.aml-personal-result { align-items: center; background: var(--aml-surface-2); border: 1px solid var(--aml-line); border-radius: 15px; display: flex; gap: 12px; justify-content: center; margin: 18px auto 0; max-width: 540px; padding: 13px; }
.aml-personal-result strong { font-size: 1.25rem; }
.aml-phase-cue { align-items: center; background: rgba(85, 217, 239, .08); border: 1px solid rgba(85, 217, 239, .22); border-radius: 999px; color: #dffaff !important; display: inline-flex; font-size: .82rem; font-weight: 780; gap: 5px; justify-content: center; margin: 22px auto 0 !important; padding: 9px 14px; }
.aml-phase-cue strong { color: #fff; font-size: 1.05rem; font-variant-numeric: tabular-nums; }

.aml-ranking { display: grid; gap: 8px; list-style: none; margin: 20px 0 0; padding: 0; }
.aml-ranking li { align-items: center; background: var(--aml-surface-2); border: 1px solid var(--aml-line); border-radius: 13px; display: grid; gap: 10px; grid-template-columns: 42px minmax(0, 1fr) auto; min-height: 54px; padding: 9px 13px; }
.aml-ranking li.is-me { background: rgba(173, 131, 255, .13); border-color: rgba(173, 131, 255, .48); }
.aml-rank { align-items: center; background: #0a1020; border-radius: 10px; display: flex; font-size: .82rem; font-weight: 900; height: 34px; justify-content: center; width: 34px; }
.aml-ranking-copy { min-width: 0; }
.aml-ranking-copy strong, .aml-ranking-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aml-ranking-copy small { color: var(--aml-muted); font-size: .68rem; margin-top: 2px; }
.aml-score { font-size: .9rem; font-variant-numeric: tabular-nums; font-weight: 900; }
.aml-podium .aml-ranking li:nth-child(1) { border-color: rgba(255, 209, 102, .48); }
.aml-podium .aml-ranking li:nth-child(2) { border-color: rgba(202, 215, 235, .35); }
.aml-podium .aml-ranking li:nth-child(3) { border-color: rgba(208, 139, 91, .36); }
.aml-live-ranking { margin: 0 auto; max-width: 820px; text-align: center; }
.aml-live-ranking .aml-ranking { text-align: left; }
.aml-ranking-divider { align-items: center; color: var(--aml-cyan); display: flex; font-size: .7rem; font-weight: 900; gap: 12px; letter-spacing: .1em; margin: 18px 0 -8px; text-transform: uppercase; }
.aml-ranking-divider::before, .aml-ranking-divider::after { background: var(--aml-line); content: ''; flex: 1; height: 1px; }

.aml-final-stage {
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 209, 102, .26), transparent 28%),
    radial-gradient(circle at 16% 30%, rgba(85, 217, 239, .17), transparent 26%),
    radial-gradient(circle at 84% 30%, rgba(255, 119, 183, .17), transparent 26%),
    linear-gradient(155deg, #171c3c, #0c1123 72%);
  min-height: 530px;
  overflow: hidden;
  padding-bottom: 0;
  position: relative;
  text-align: center;
}
.aml-final-stage > :not(.aml-confetti) { position: relative; z-index: 2; }
.aml-final-stage h1 { font-size: clamp(2rem, 5vw, 4rem); letter-spacing: -.04em; margin: 0 0 8px; }
.aml-final-stage > p { color: #cbd3e6; margin: 0 auto; max-width: 670px; }
.aml-final-podium { align-items: end; display: grid; gap: clamp(5px, 1.5vw, 14px); grid-template-columns: repeat(3, minmax(0, 1fr)); margin: clamp(32px, 6vw, 58px) auto 0; max-width: 820px; }
.aml-podium-place { align-items: center; animation: aml-podium-rise .8s cubic-bezier(.2, .8, .2, 1) both; display: flex; flex-direction: column; min-width: 0; }
.aml-podium-place.is-slot-1 { animation-delay: .42s; grid-column: 2; grid-row: 1; }
.aml-podium-place.is-slot-2 { animation-delay: .2s; grid-column: 1; grid-row: 1; }
.aml-podium-place.is-slot-3 { animation-delay: .62s; grid-column: 3; grid-row: 1; }
.aml-podium-medal { animation: aml-medal-pop .65s cubic-bezier(.2, 1.5, .35, 1) .85s both; filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .35)); font-size: clamp(2rem, 5vw, 3.35rem); line-height: 1; margin-bottom: 10px; }
.aml-podium-place > strong { font-size: clamp(.82rem, 2.3vw, 1.25rem); max-width: 100%; overflow: hidden; padding-inline: 5px; text-overflow: ellipsis; white-space: nowrap; }
.aml-podium-place > small { color: #c8d0e2; font-size: .74rem; font-weight: 850; margin: 4px 0 10px; }
.aml-podium-step { align-items: center; background: linear-gradient(180deg, #7e5be0, #4d389b); border: 1px solid rgba(255, 255, 255, .2); border-radius: 18px 18px 0 0; box-shadow: inset 0 1px rgba(255, 255, 255, .17), 0 -18px 45px rgba(92, 56, 197, .22); display: flex; justify-content: center; min-height: 145px; width: 100%; }
.aml-podium-place.is-slot-1 .aml-podium-step { background: linear-gradient(180deg, #f6c951, #c58b1f); min-height: 205px; }
.aml-podium-place.is-slot-2 .aml-podium-step { background: linear-gradient(180deg, #b8c8dd, #71839d); min-height: 165px; }
.aml-podium-place.is-slot-3 .aml-podium-step { background: linear-gradient(180deg, #d99361, #975230); min-height: 125px; }
.aml-podium-step b { color: #fff; font-size: clamp(2.1rem, 6vw, 4.2rem); line-height: 1; text-shadow: 0 4px 14px rgba(0, 0, 0, .24); }
.aml-podium-step small { color: rgba(255, 255, 255, .86); font-size: 1rem; font-weight: 900; margin: 10px 0 0 2px; }
.aml-confetti { inset: 0; overflow: hidden; pointer-events: none; position: absolute; z-index: 1; }
.aml-confetti i { --x: calc((var(--i) * 43) % 100); animation: aml-confetti-fall calc(2.7s + (var(--i) % 5) * .34s) linear calc((var(--i) % 8) * -.28s) infinite; background: hsl(calc(var(--i) * 47deg) 90% 65%); border-radius: 2px; height: calc(8px + (var(--i) % 3) * 4px); left: calc(var(--x) * 1%); opacity: .9; position: absolute; top: -24px; transform: rotate(calc(var(--i) * 23deg)); width: calc(5px + (var(--i) % 4) * 2px); }
.aml-final-personal { background: rgba(255, 209, 102, .09); border: 1px solid rgba(255, 209, 102, .28); border-radius: 15px; color: #f7f0d5; margin: 0 auto; max-width: 680px; padding: 13px 16px; text-align: center; }
.aml-final-actions { margin: 0 auto; }
@keyframes aml-podium-rise { from { opacity: 0; transform: translateY(100px) scale(.88); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes aml-medal-pop { 0% { opacity: 0; transform: scale(.3) rotate(-18deg); } 70% { transform: scale(1.16) rotate(6deg); } 100% { opacity: 1; transform: scale(1) rotate(0); } }
@keyframes aml-confetti-fall { 0% { opacity: 0; transform: translate3d(0, -20px, 0) rotate(0); } 10% { opacity: .95; } 100% { opacity: .7; transform: translate3d(calc((var(--i) % 2) * 38px - 18px), 590px, 0) rotate(620deg); } }

.aml-report-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.aml-metric-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
.aml-metric { background: var(--aml-surface-2); border: 1px solid var(--aml-line); border-radius: 13px; padding: 12px; }
.aml-metric span, .aml-metric strong { display: block; }
.aml-metric span { color: var(--aml-muted); font-size: .7rem; }
.aml-metric strong { font-size: 1.2rem; margin-top: 3px; }
.aml-review-list { display: grid; gap: 9px; margin-top: 17px; }
.aml-review { background: var(--aml-surface-2); border: 1px solid var(--aml-line); border-radius: 13px; overflow: hidden; }
.aml-review > summary { align-items: center; cursor: pointer; display: grid; gap: 9px; grid-template-columns: 34px minmax(0, 1fr) auto; list-style: none; min-height: 54px; padding: 10px 13px; }
.aml-review > summary::-webkit-details-marker { display: none; }
.aml-review-icon { align-items: center; background: #0a1020; border-radius: 9px; display: flex; height: 32px; justify-content: center; width: 32px; }
.aml-review-title { min-width: 0; }
.aml-review-title strong, .aml-review-title small { display: block; }
.aml-review-title strong { font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aml-review-title small { color: var(--aml-muted); font-size: .67rem; margin-top: 2px; }
.aml-review-status { border-radius: 999px; font-size: .65rem; font-weight: 900; padding: 5px 8px; }
.aml-review-status.is-ok { background: rgba(86, 213, 163, .11); color: #dfffee; }
.aml-review-status.is-review { background: rgba(255, 120, 145, .11); color: #ffdce3; }
.aml-review-body { border-top: 1px solid var(--aml-line); color: #d8ddeb; display: grid; font-size: .78rem; gap: 8px; padding: 13px; }
.aml-review-body p { margin: 0; }
.aml-review-body span { color: var(--aml-muted); }

.aml-error { border-color: rgba(255, 120, 145, .35); margin: 10vh auto 0; max-width: 640px; text-align: center; }
.aml-inline-error { background: rgba(255, 120, 145, .09); border: 1px solid rgba(255, 120, 145, .3); border-radius: 12px; color: #ffe1e7; font-size: .78rem; padding: 10px 12px; }
.aml-toast-region { bottom: max(18px, env(safe-area-inset-bottom)); display: grid; gap: 8px; max-width: min(390px, calc(100vw - 28px)); pointer-events: none; position: fixed; right: max(18px, env(safe-area-inset-right)); z-index: 1000; }
.aml-toast { animation: aml-toast-in .2s ease-out; background: #f5f7ff; border-radius: 12px; box-shadow: 0 15px 45px rgba(0, 0, 0, .4); color: #0b1020; font-size: .8rem; font-weight: 750; padding: 11px 13px; }
@keyframes aml-toast-in { from { opacity: 0; transform: translateY(8px); } }

.aml-footer { align-items: center; border-top: 1px solid var(--aml-line); color: var(--aml-muted); display: flex; font-size: .72rem; gap: 20px; justify-content: space-between; margin: 0 auto; max-width: 1280px; min-height: 76px; padding: 15px max(20px, env(safe-area-inset-right)) calc(15px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); position: relative; z-index: 1; }
.aml-footer p { margin: 0; }
.aml-footer > div:last-child { align-items: center; display: flex; flex-wrap: wrap; gap: 2px 8px; }
.aml-footer a { align-items: center; display: inline-flex; font-weight: 800; min-height: 44px; padding: 8px 4px; }

@media (hover: hover) and (pointer: fine) {
  .aml-button:not(:disabled):hover { filter: brightness(1.08); transform: translateY(-1px); }
}

@media (max-width: 900px) {
  .aml-question-layout, .aml-report-grid { grid-template-columns: 1fr; }
  .aml-side-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aml-lobby-grid { grid-template-columns: 1fr; }
  .aml-code-stage { min-height: 280px; }
}

@media (max-width: 700px) {
  .aml-header { min-height: 66px; padding: 10px max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left)); }
  .aml-brand-mark { border-radius: 12px; flex-basis: 40px; height: 40px; width: 40px; }
  .aml-brand-mark svg { height: 27px; width: 27px; }
  .aml-brand strong { font-size: .88rem; }
  .aml-brand small { font-size: .64rem; }
  .aml-capacity { font-size: .68rem; padding: 7px 9px; }
  .aml-main { min-height: calc(100svh - 132px); padding: 25px max(12px, env(safe-area-inset-right)) 52px max(12px, env(safe-area-inset-left)); }
  .aml-entry-grid { grid-template-columns: 1fr; }
  .aml-card { border-radius: 19px; padding: 19px; }
  .aml-roombar { align-items: flex-start; border-radius: 0; margin-inline: -12px; padding: 12px 14px; }
  .aml-roombar .aml-button { min-width: 44px; padding-inline: 10px; }
  .aml-roombar .aml-button-label { display: none; }
  .aml-stop-game .aml-ui-icon { margin-right: 0 !important; }
  .aml-question-card { min-height: 430px; }
  .aml-choice-grid, .aml-orchestra-list { grid-template-columns: 1fr; }
  .aml-choice { min-height: 62px; }
  .aml-side-stack { grid-template-columns: 1fr; }
  .aml-code-stage strong { font-size: clamp(2.8rem, 15vw, 5rem); }
  .aml-footer { align-items: flex-start; flex-direction: column; gap: 6px; }
}

@media (max-width: 480px) {
  .aml-capacity { max-width: 106px; text-align: center; }
  .aml-hero { text-align: left; }
  .aml-hero h1 { font-size: clamp(2.15rem, 13vw, 3.35rem); }
  .aml-hero p { font-size: .95rem; }
  .aml-form-row, .aml-game-checks, .aml-metric-grid { grid-template-columns: 1fr; }
  .aml-code-stage strong { font-size: clamp(2.05rem, 11vw, 4rem); letter-spacing: .1em; margin-left: .1em; }
  .aml-roombar-main { align-items: flex-start; flex-direction: column; gap: 6px; }
  .aml-room-phase { border-radius: 10px; line-height: 1.25; max-width: 100%; text-align: center; white-space: normal; }
  .aml-room-code { align-items: flex-start; flex-direction: column; gap: 0; }
  .aml-room-code strong { font-size: 1.17rem; }
  .aml-question-head { align-items: flex-start; }
  .aml-question-card h1 { font-size: 1.6rem; text-align: left; }
  .aml-context { text-align: left; }
  .aml-audio-box { align-items: flex-start; flex-wrap: wrap; justify-content: flex-start; }
  .aml-audio-box .aml-button { width: 100%; }
  .aml-orchestra-row { grid-template-columns: 1fr; }
  .aml-ranking li { grid-template-columns: 38px minmax(0, 1fr) auto; padding-inline: 9px; }
  .aml-review > summary { grid-template-columns: 32px minmax(0, 1fr); }
  .aml-review-status { grid-column: 2; justify-self: start; }
}

@media (max-width: 350px) {
  .aml-header { gap: 8px; }
  .aml-brand { gap: 8px; }
  .aml-brand strong { font-size: .78rem; }
  .aml-brand small { font-size: .58rem; letter-spacing: .04em; }
  .aml-capacity { font-size: .65rem; max-width: none; white-space: nowrap; }
  .aml-capacity-prefix { display: none; }
  .aml-card { padding: 15px; }
  .aml-code-stage strong { font-size: clamp(1.9rem, 11vw, 2.55rem); letter-spacing: .08em; margin-left: .08em; }
  .aml-question-kicker { font-size: .68rem; }
  .aml-progress-label { font-size: .68rem; }
}

@media (max-width: 300px) {
  .aml-brand small { display: none; }
  .aml-brand-mark { flex-basis: 36px; height: 36px; width: 36px; }
  .aml-capacity { padding-inline: 7px; }
}

@media (orientation: landscape) and (max-height: 540px) and (min-width: 560px) {
  .aml-header { min-height: 58px; padding-block: 7px; }
  .aml-brand-mark { flex-basis: 38px; height: 38px; width: 38px; }
  .aml-main { padding-block: 16px 34px; }
  .aml-hero h1 { font-size: 2.35rem; margin-bottom: 8px; }
  .aml-entry-grid { align-items: start; }
  .aml-card { padding: 17px; }
  .aml-question-card { min-height: 350px; }
  .aml-question-card h1 { font-size: 1.65rem; }
  .aml-question-head { margin-bottom: 12px; }
  .aml-timer-wrap, .aml-audio-box { margin-bottom: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .arcade-musicale-live *,
  .arcade-musicale-live *::before,
  .arcade-musicale-live *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .aml-spinner { animation: none; border-top-color: var(--aml-cyan); }
}

@media (prefers-contrast: more) {
  .arcade-musicale-live { --aml-line: rgba(255, 255, 255, .28); --aml-line-strong: rgba(255, 255, 255, .45); --aml-muted: #d4d9e6; }
}

@media (forced-colors: active) {
  .arcade-musicale-live { forced-color-adjust: auto; }
  .aml-ambient { display: none; }
  .aml-choice.is-selected, .aml-ranking li.is-me { outline: 3px solid Highlight; }
}

/* ========================================================================== */
/* 8.2.5 — direction visuelle Live : énergique, lisible et orientée joueur   */
/* ========================================================================== */

.arcade-musicale-live {
  --aml-bg: #070915;
  --aml-surface: #11182b;
  --aml-surface-2: #18223a;
  --aml-surface-3: #202d4a;
  --aml-ink: #fbfbff;
  --aml-muted: #b7c0d7;
  --aml-line: rgba(255, 255, 255, .13);
  --aml-line-strong: rgba(255, 255, 255, .25);
  --aml-violet: #8f6bff;
  --aml-violet-strong: #6b44e5;
  --aml-cyan: #55e6f3;
  --aml-green: #42d99a;
  --aml-yellow: #ffd75e;
  --aml-red: #ff627c;
  background:
    radial-gradient(circle at 86% -8%, rgba(121, 81, 240, .25), transparent 32rem),
    radial-gradient(circle at -8% 82%, rgba(33, 196, 219, .14), transparent 30rem),
    #070915;
}

.aml-ambient span { filter: blur(30px); opacity: .16; }
.aml-header {
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  background: rgba(7, 9, 21, .82);
  border-bottom-color: rgba(255, 255, 255, .09);
  min-height: 72px;
  padding-left: max(126px, env(safe-area-inset-left), calc((100vw - 1280px) / 2));
  position: sticky;
  top: 0;
}
.aml-brand-mark { background: linear-gradient(145deg, #9c7bff 0%, #6941e0 55%, #24bfd6 145%); }
.aml-capacity { background: rgba(66, 217, 154, .1); border-color: rgba(66, 217, 154, .28); }
.aml-main { padding-top: clamp(24px, 4vw, 52px); }
.aml-shell { max-width: 1220px; }

.aml-card {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: linear-gradient(155deg, rgba(22, 31, 53, .97), rgba(13, 19, 35, .98));
  border-color: rgba(255, 255, 255, .12);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .035);
}
.aml-live-hero { max-width: 720px; }
.aml-live-hero h1 {
  background: linear-gradient(105deg, #fff 15%, #d8ceff 55%, #8ceaf3 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: clamp(2.5rem, 7vw, 5.2rem);
  letter-spacing: -.055em;
}
.aml-entry-grid { align-items: start; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); max-width: 1100px; }
.aml-entry-grid.is-player-only { grid-template-columns: minmax(0, 640px); justify-content: center; }
.aml-player-entry { border-color: rgba(85, 230, 243, .26); position: relative; }
.aml-player-entry::before,
.aml-host-entry::before {
  background: linear-gradient(90deg, var(--aml-cyan), var(--aml-violet));
  border-radius: 24px 24px 0 0;
  content: '';
  height: 4px;
  inset: -1px -1px auto;
  position: absolute;
}
.aml-host-entry::before { background: linear-gradient(90deg, var(--aml-violet), #ff77b7); }
.aml-entry-heading { align-items: center; display: flex; gap: 14px; }
.aml-entry-heading .aml-card-badge { flex: 0 0 48px; margin: 0; }
.aml-entry-heading h2 { margin: 2px 0 0; }
.aml-entry-label { color: var(--aml-cyan); display: block; font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.aml-host-entry .aml-entry-label { color: #c9b8ff; }
.aml-player-entry > p,
.aml-host-entry > p { margin: 15px 0 0; }
.aml-player-entry .aml-field input { min-height: 54px; }
.aml-code-input { font-size: clamp(1.45rem, 5vw, 2rem) !important; min-height: 64px !important; }
.aml-join-button,
.aml-start-button { font-size: 1rem; min-height: 56px; width: 100%; }
.aml-game-check { transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.aml-game-check:has(input:checked) { box-shadow: inset 0 0 0 1px rgba(173, 131, 255, .12); }

.aml-roombar {
  backdrop-filter: blur(16px);
  background: rgba(14, 20, 37, .9);
  border-radius: 20px;
  box-shadow: 0 14px 45px rgba(0, 0, 0, .22);
  min-height: 72px;
}
.aml-roombar-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.aml-room-progress { align-items: baseline; background: rgba(143, 107, 255, .14); border: 1px solid rgba(143, 107, 255, .33); border-radius: 12px; display: inline-flex; font-size: 1.05rem; font-variant-numeric: tabular-nums; font-weight: 950; gap: 3px; min-height: 42px; padding: 8px 11px; }
.aml-room-progress small { color: var(--aml-muted); font-size: .67rem; font-weight: 800; }
.aml-room-phase { background: rgba(85, 230, 243, .1); border-color: rgba(85, 230, 243, .26); }

.aml-code-stage {
  background:
    radial-gradient(circle at 50% 10%, rgba(143, 107, 255, .3), transparent 55%),
    linear-gradient(160deg, rgba(24, 32, 56, .98), rgba(12, 17, 32, .98));
  min-height: 390px;
  overflow: hidden;
  position: relative;
}
.aml-code-stage::after { border: 1px solid rgba(255, 255, 255, .07); border-radius: 50%; content: ''; height: 360px; position: absolute; right: -190px; top: -210px; width: 360px; }
.aml-code-stage strong { filter: drop-shadow(0 10px 28px rgba(92, 56, 197, .4)); }
.aml-code-stage p b { color: #fff; }
.aml-lobby-action { padding: 20px; }
.aml-ready-state { align-items: center; display: flex; gap: 13px; }
.aml-ready-state > span { align-items: center; background: rgba(66, 217, 154, .14); border: 1px solid rgba(66, 217, 154, .35); border-radius: 50%; color: #dcffef; display: flex; flex: 0 0 44px; font-size: 1.2rem; height: 44px; justify-content: center; }
.aml-ready-state strong,
.aml-ready-state small { display: block; }
.aml-ready-state small { color: var(--aml-muted); margin-top: 2px; }

.aml-preflight {
  align-items: center;
  background:
    radial-gradient(circle at 50% 35%, rgba(143, 107, 255, .3), transparent 34%),
    linear-gradient(155deg, #141d34, #0b1020);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: min(660px, calc(100svh - 230px));
  overflow: hidden;
  padding-block: clamp(34px, 8vw, 84px);
  position: relative;
  text-align: center;
}
.aml-preflight::before,
.aml-preflight::after { border: 1px solid rgba(255, 255, 255, .07); border-radius: 50%; content: ''; position: absolute; }
.aml-preflight::before { height: 480px; width: 480px; }
.aml-preflight::after { height: 650px; width: 650px; }
.aml-preflight > * { position: relative; z-index: 1; }
.aml-preflight-kicker { color: #cabdff; font-size: .74rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.aml-preflight-count { align-items: center; background: linear-gradient(145deg, #9a78ff, #6540dc); border: 8px solid rgba(255, 255, 255, .11); border-radius: 50%; box-shadow: 0 20px 70px rgba(79, 44, 173, .5); display: flex; height: clamp(128px, 24vw, 210px); justify-content: center; margin: clamp(24px, 5vw, 42px) auto; width: clamp(128px, 24vw, 210px); }
.aml-preflight-count strong { font-size: clamp(4.2rem, 13vw, 7.7rem); font-variant-numeric: tabular-nums; letter-spacing: -.08em; line-height: 1; }
.aml-preflight h1 { font-size: clamp(1.8rem, 5vw, 3.5rem); margin-bottom: 10px; }
.aml-preflight p { color: var(--aml-muted); margin-bottom: 24px; }
.aml-preflight-shield { align-items: center; background: rgba(7, 10, 23, .58); border: 1px solid rgba(85, 230, 243, .24); border-radius: 999px; color: #dcfbff; display: inline-flex; font-size: .78rem; font-weight: 800; gap: 8px; padding: 9px 14px; }

.aml-question-card { overflow: hidden; padding-top: clamp(25px, 4vw, 38px); }
.aml-game-progress { background: rgba(255, 255, 255, .08); height: 5px; inset: 0 0 auto; overflow: hidden; position: absolute; }
.aml-game-progress span { background: linear-gradient(90deg, var(--aml-cyan), var(--aml-violet)); border-radius: 0 999px 999px 0; box-shadow: 0 0 18px rgba(85, 230, 243, .4); display: block; height: 100%; transition: width .35s ease; }
.aml-timer-wrap { flex-direction: column; gap: 2px; margin-bottom: 18px; }
.aml-timer { background: rgba(8, 12, 26, .72); border: 2px solid rgba(85, 230, 243, .3); border-radius: 18px; box-shadow: inset 0 0 24px rgba(85, 230, 243, .05); font-size: clamp(1.35rem, 4vw, 2rem); min-height: 58px; min-width: 112px; }
.aml-timer-label { font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.aml-question-card h1 { letter-spacing: -.025em; }

.aml-choice {
  --aml-choice: 143, 107, 255;
  background: linear-gradient(145deg, rgba(var(--aml-choice), .18), rgba(12, 18, 33, .92));
  border-color: rgba(var(--aml-choice), .47);
  box-shadow: inset 4px 0 0 rgb(var(--aml-choice));
  min-height: 76px;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.aml-choice:nth-child(1) { --aml-choice: 244, 76, 101; }
.aml-choice:nth-child(2) { --aml-choice: 45, 134, 230; }
.aml-choice:nth-child(3) { --aml-choice: 226, 173, 36; }
.aml-choice:nth-child(4) { --aml-choice: 157, 78, 221; }
.aml-choice-index { background: rgb(var(--aml-choice)); border: 0; color: #fff; flex-basis: 38px; height: 38px; }
.aml-choice-copy strong { font-size: .96rem; }
.aml-choice:hover { border-color: rgb(var(--aml-choice)); box-shadow: inset 5px 0 0 rgb(var(--aml-choice)), 0 12px 28px rgba(0, 0, 0, .25); }
.aml-choice.is-selected { background: linear-gradient(145deg, rgba(var(--aml-choice), .36), rgba(14, 21, 38, .96)); border-color: rgb(var(--aml-choice)); box-shadow: inset 5px 0 0 rgb(var(--aml-choice)), 0 0 0 2px rgba(var(--aml-choice), .22); }
.aml-choice:disabled { opacity: .74; }
.aml-choice.is-selected:disabled { opacity: 1; }

.aml-answered { background: linear-gradient(145deg, rgba(132, 151, 182, .18), rgba(17, 24, 39, .96)); border-color: rgba(155, 174, 209, .42); border-radius: 20px; margin-top: 22px; max-width: 760px; min-height: 0; padding: clamp(18px, 4vw, 30px); }
.aml-answered > div { gap: 7px; }
.aml-answered > div > strong { font-size: clamp(1.25rem, 3vw, 1.7rem); }
.aml-answered-question { color: #cbd4e8 !important; font-size: .8rem !important; }
.aml-answered b { background: rgba(7, 13, 24, .55); border: 1px solid rgba(255, 255, 255, .12); border-radius: 12px; font-size: 1rem; padding: 10px 12px; }
.aml-answered b small { color: #9eabc5; font-size: .63rem; letter-spacing: .09em; margin-bottom: 2px; text-transform: uppercase; }
.aml-waiting-pulse { align-items: center; color: #d4dceb !important; display: flex !important; font-size: .75rem !important; gap: 7px; }
.aml-waiting-pulse i { animation: aml-pulse 1.25s ease-in-out infinite; background: #91a1bf; border-radius: 50%; display: inline-block; flex: 0 0 7px; height: 7px; width: 7px; }
@keyframes aml-pulse { 50% { box-shadow: 0 0 0 7px rgba(66, 217, 154, 0); opacity: .55; } }

.aml-reveal-card { min-height: 430px; padding-block: clamp(35px, 7vw, 72px); }
.aml-reveal-card.is-correct { background: radial-gradient(circle at 50% 8%, rgba(66, 217, 154, .26), transparent 53%), linear-gradient(155deg, rgba(19, 45, 44, .96), rgba(12, 22, 32, .98)); }
.aml-result-mark { box-shadow: 0 0 0 10px rgba(66, 217, 154, .07); }
.aml-personal-result strong,
.aml-personal-result small { display: block; }
.aml-personal-result small { color: var(--aml-muted); margin-top: 2px; }
.aml-ranking-caption { color: #d9e1f2 !important; font-size: .74rem; font-weight: 900; letter-spacing: .11em; margin: 16px 0 -8px; text-transform: uppercase; }
.aml-live-ranking { background: radial-gradient(circle at 50% 0, rgba(143, 107, 255, .2), transparent 46%), linear-gradient(155deg, rgba(20, 28, 49, .98), rgba(11, 16, 30, .98)); }
.aml-ranking li { min-height: 62px; }
.aml-ranking li:nth-child(1) .aml-rank { background: #f2c84b; color: #241b00; }
.aml-ranking li:nth-child(2) .aml-rank { background: #bec9da; color: #162033; }
.aml-ranking li:nth-child(3) .aml-rank { background: #c88255; color: #24140b; }
.aml-ranking li.is-me { box-shadow: inset 4px 0 0 var(--aml-violet); }

@media (max-width: 1024px) {
  .aml-entry-grid { grid-template-columns: 1fr; max-width: 720px; }
  .aml-question-layout { grid-template-columns: 1fr; }
  .aml-side-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aml-preflight { min-height: min(620px, calc(100svh - 220px)); }
}

@media (max-width: 700px) {
  /* Le bouton Accueil du thème flotte en haut à gauche de la page. */
  .aml-header { padding-left: max(126px, env(safe-area-inset-left)); }
  .aml-header .aml-capacity { display: none; }
  .aml-main { padding-top: 14px; }
  .aml-roombar { border-radius: 16px; margin-inline: 0; }
  .aml-roombar-main { gap: 8px; }
  .aml-roombar-actions { gap: 7px; }
  .aml-room-progress { min-height: 40px; }
  .aml-question-card { min-height: 0; padding: 24px 16px 20px; }
  .aml-question-card h1 { text-align: center; }
  .aml-context { text-align: center; }
  .aml-choice { min-height: 68px; }
  .aml-preflight { min-height: calc(100svh - 190px); }
  .aml-side-stack { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .aml-header { min-height: 62px; padding-left: max(128px, env(safe-area-inset-left)); }
  .aml-main { padding-left: max(9px, env(safe-area-inset-left)); padding-right: max(9px, env(safe-area-inset-right)); }
  .aml-live-hero { text-align: center; }
  .aml-live-hero h1 { font-size: clamp(2.35rem, 14vw, 3.65rem); }
  .aml-entry-heading { align-items: flex-start; }
  .aml-card { padding: 17px; }
  .aml-roombar { align-items: center; padding: 10px 11px; }
  .aml-room-code { align-items: flex-start; flex-direction: column; gap: 0; }
  .aml-room-code strong { font-size: 1.18rem; }
  .aml-room-phase { font-size: .64rem; padding: 5px 7px; }
  .aml-roombar .aml-button { min-height: 44px; }
  .aml-room-progress { font-size: .88rem; padding-inline: 8px; }
  .aml-preflight { border-radius: 18px; min-height: calc(100svh - 166px); padding-inline: 16px; }
  .aml-preflight::after { display: none; }
  .aml-question-head { align-items: center; }
  .aml-question-kicker { max-width: 62%; }
  .aml-question-card h1 { font-size: clamp(1.45rem, 7.5vw, 2rem); }
  .aml-choice-grid { gap: 9px; }
  .aml-choice { border-radius: 13px; min-height: 64px; padding: 10px; }
  .aml-choice-index { flex-basis: 34px; height: 34px; }
  .aml-answered { min-height: 0; }
  .aml-ranking li { grid-template-columns: 36px minmax(0, 1fr) auto; }
  .aml-score { font-size: .8rem; }
  .aml-invite-tools { align-items: stretch; flex-direction: column; width: 100%; }
  .aml-qr-button { align-self: center; }
  .aml-invite-tools > .aml-button { width: 100%; }
  .aml-qr-dialog { padding: 18px 12px 16px; }
  .aml-qr-code-label { padding-inline: 44px; }
  .aml-qr-svg.is-large svg { height: min(68vw, 340px); width: min(68vw, 340px); }
  .aml-final-stage { min-height: 470px; padding: 24px 12px 0; }
  .aml-final-podium { gap: 5px; margin-top: 32px; }
  .aml-podium-place > strong { font-size: .75rem; }
  .aml-podium-place > small { font-size: .64rem; }
  .aml-podium-step { border-radius: 13px 13px 0 0; min-height: 110px; }
  .aml-podium-place.is-slot-1 .aml-podium-step { min-height: 165px; }
  .aml-podium-place.is-slot-2 .aml-podium-step { min-height: 132px; }
  .aml-podium-place.is-slot-3 .aml-podium-step { min-height: 96px; }
}

@media (max-width: 350px) {
  .aml-header { padding-left: max(128px, env(safe-area-inset-left)); }
  .aml-brand > span:last-child { display: none; }
  .aml-card { padding: 14px; }
  .aml-qr-code-label { padding-inline: 28px; }
  .aml-roombar .aml-room-progress { display: none; }
  .aml-room-phase { max-width: 112px; }
  .aml-preflight-count { height: 118px; width: 118px; }
  .aml-preflight h1 { font-size: 1.65rem; }
  .aml-choice-copy strong { font-size: .86rem; }
}

@media (pointer: coarse) and (orientation: landscape) and (max-height: 560px) and (min-width: 560px) {
  .aml-header { min-height: 54px; padding-bottom: 5px; padding-left: 126px; padding-top: 5px; }
  .aml-main { padding-bottom: 20px; padding-top: 10px; }
  .aml-roombar { min-height: 54px; padding-block: 7px; }
  .aml-preflight { min-height: calc(100svh - 126px); padding-block: 14px; }
  .aml-preflight-count { border-width: 5px; height: 102px; margin-block: 10px; width: 102px; }
  .aml-preflight-count strong { font-size: 4.2rem; }
  .aml-preflight h1 { font-size: 1.8rem; margin-bottom: 4px; }
  .aml-preflight p { margin-bottom: 10px; }
  .aml-question-layout { grid-template-columns: minmax(0, 1fr) 230px; }
  .aml-question-card { padding: 16px; }
  .aml-question-head { margin-bottom: 7px; }
  .aml-timer-wrap { margin-bottom: 7px; }
  .aml-timer { font-size: 1.15rem; min-height: 44px; }
  .aml-question-card h1 { font-size: 1.35rem; margin-bottom: 7px; }
  .aml-context,
  .aml-audio-box { margin-bottom: 8px; }
  .aml-choice { min-height: 54px; padding-block: 7px; }
  .aml-answered { min-height: 0; padding: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .aml-waiting-pulse i,
  .aml-podium-place,
  .aml-podium-medal,
  .aml-confetti i { animation: none; box-shadow: none; }
}

.arcade-musicale-live.is-presentation,
.arcade-musicale-live:fullscreen {
  height: 100vh;
  height: 100dvh;
  inset: 0;
  margin: 0;
  max-width: none;
  overflow: auto;
  position: fixed;
  width: 100vw;
  z-index: 2147483000;
}
.arcade-musicale-live.is-presentation .aml-header,
.arcade-musicale-live.is-presentation .aml-footer,
.arcade-musicale-live:fullscreen .aml-header,
.arcade-musicale-live:fullscreen .aml-footer { display: none; }
.arcade-musicale-live.is-presentation .aml-main,
.arcade-musicale-live:fullscreen .aml-main { max-width: none; min-height: 100%; padding: clamp(10px, 2vw, 24px); }
.arcade-musicale-live.is-presentation .aml-shell,
.arcade-musicale-live:fullscreen .aml-shell { max-width: 1600px; }
.aml-presentation-toggle { white-space: nowrap; }
.aml-stopped-notice { background: rgba(226, 173, 36, .1); border: 1px solid rgba(226, 173, 36, .32); border-radius: 14px; color: var(--aml-ink); margin: 0 auto; max-width: 820px; padding: 13px 16px; text-align: center; }

/* ========================================================================== */
/* 8.2.6 — direction éditoriale cohérente avec adrienhauquin.com             */
/* ========================================================================== */

body.atlas-musical-live-page,
body.atlas-musical-live-page #page,
body.atlas-musical-live-page .site,
body.atlas-musical-live-page .site-inner,
body.atlas-musical-live-page .site-content,
body.atlas-musical-live-page .content-area,
body.atlas-musical-live-page main.site-main,
body.atlas-musical-live-page article.page,
body.atlas-musical-live-page .entry-content,
body.atlas-musical-live-page .post-content,
body.atlas-musical-live-page .page-content,
body.atlas-musical-live-page .wp-block-post-content {
  background: #f2ede4 !important;
  background-color: #f2ede4 !important;
}

.arcade-musicale-live {
  --aml-paper: #f2ede4;
  --aml-paper-strong: #fffdf8;
  --aml-paper-line: rgba(72, 60, 49, .17);
  --aml-bg: #090d18;
  --aml-surface: #121a2a;
  --aml-surface-2: #182338;
  --aml-surface-3: #202e48;
  --aml-ink: #fbfaf7;
  --aml-muted: #bfc5d1;
  --aml-line: rgba(255, 255, 255, .12);
  --aml-line-strong: rgba(255, 255, 255, .24);
  --aml-violet: #a58aeb;
  --aml-violet-strong: #7457c8;
  --aml-cyan: #54cbd5;
  --aml-green: #5cc596;
  --aml-yellow: #dfb75f;
  --aml-red: #e77988;
  background: var(--aml-paper);
}

.aml-ambient { display: none; }

.aml-header {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: rgba(250, 247, 240, .97);
  border-bottom: 1px solid var(--aml-paper-line);
  box-shadow: 0 7px 24px rgba(60, 48, 37, .055);
  min-height: 78px;
}

.aml-brand { color: #28231f !important; }
.aml-brand-mark {
  background: linear-gradient(145deg, #8d70dc, #654ab2 62%, #3fb5c0 145%);
  border: 1px solid rgba(77, 52, 140, .2);
  border-radius: 13px;
  box-shadow: 0 9px 24px rgba(76, 51, 140, .2);
}
.aml-brand strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; }
.aml-brand small { color: #746b62; }
.aml-capacity { background: #e8f4ed; border-color: #b9d9c5; color: #28543e; }
.aml-capacity-dot { color: #34835c; }

.aml-main {
  background:
    radial-gradient(circle at 88% -5%, rgba(122, 91, 205, .18), transparent 28rem),
    radial-gradient(circle at -8% 88%, rgba(49, 173, 187, .11), transparent 28rem),
    #090d18;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 32px;
  box-shadow: 0 30px 90px rgba(46, 37, 28, .2);
  margin: 20px auto;
  max-width: min(1540px, calc(100vw - 40px));
  min-height: calc(100svh - 164px);
  padding: clamp(30px, 4vw, 56px);
  width: calc(100% - 40px);
}

.aml-shell { max-width: 1260px; }
.aml-intro { gap: clamp(22px, 3vw, 34px); }
.aml-live-hero { max-width: 760px; padding-top: 2px; }
.aml-live-hero .aml-eyebrow { color: #72d6de; margin-bottom: 10px; }
.aml-live-hero h1 {
  background: none;
  color: #fffdf8;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.9rem, 5.7vw, 5rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .98;
  margin-bottom: 13px;
}
.aml-live-hero p { color: #c7cbd5; font-size: clamp(.98rem, 1.5vw, 1.12rem); line-height: 1.65; }

.aml-entry-grid { gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1160px; }
.aml-card {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: linear-gradient(155deg, rgba(24, 34, 54, .98), rgba(14, 21, 36, .99));
  border-color: rgba(255, 255, 255, .13);
  border-radius: 22px;
  box-shadow: 0 20px 54px rgba(0, 0, 0, .27), inset 0 1px rgba(255, 255, 255, .045);
}

.aml-player-entry,
.aml-host-entry { border-color: rgba(255, 255, 255, .15); }
.aml-player-entry::before { background: linear-gradient(90deg, #4bc4d0, #83d7d9); }
.aml-host-entry::before { background: linear-gradient(90deg, #9e81e7, #c6a75f); }
.aml-entry-heading h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.55rem, 2.4vw, 2rem); }
.aml-entry-label { color: #6ed4dd; }
.aml-host-entry .aml-entry-label { color: #c3afea; }
.aml-card-badge { background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .1); }

.aml-field input,
.aml-field select,
.aml-fixed-setting {
  background: rgba(5, 10, 20, .58);
  border-color: rgba(255, 255, 255, .18);
  border-radius: 11px;
}
.aml-game-check { background: rgba(6, 12, 23, .48); }
.aml-game-check:has(input:checked) { background: rgba(165, 138, 235, .13); border-color: rgba(165, 138, 235, .48); }
.aml-button { border-radius: 11px; }
.aml-button-primary { background: linear-gradient(135deg, #9f83e5, #7051c5); box-shadow: 0 10px 27px rgba(91, 61, 173, .25); }
.aml-button-secondary { background: rgba(255, 255, 255, .075); }

.aml-audio-primer {
  align-items: flex-start;
  background: rgba(84, 203, 213, .075);
  border: 1px solid rgba(84, 203, 213, .24);
  border-radius: 12px;
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 11px 12px;
}
.aml-audio-primer > span:first-child { font-size: 1.2rem; }
.aml-audio-primer strong,
.aml-audio-primer small { display: block; }
.aml-audio-primer strong { color: #e9fcfd; font-size: .78rem; }
.aml-audio-primer small { color: var(--aml-muted); font-size: .7rem; line-height: 1.45; margin-top: 2px; }

.aml-roombar { background: rgba(20, 28, 45, .96); border-radius: 16px; }
.aml-room-code strong { color: #fffdf8; }
.aml-room-phase { background: rgba(84, 203, 213, .09); border-color: rgba(84, 203, 213, .25); }

.aml-code-stage {
  background:
    radial-gradient(circle at 50% 0, rgba(165, 138, 235, .22), transparent 56%),
    linear-gradient(155deg, #1b2540, #0f1728 78%);
}
.aml-code-stage strong { color: #fffdf8; text-shadow: 0 9px 34px rgba(101, 72, 181, .32); }
.aml-code-stage p b { color: #fffdf8; }

.aml-player-list li { align-items: center; display: inline-flex; gap: 7px; }
.aml-player-list button { color: inherit; }
.aml-player-audio {
  align-items: center;
  background: rgba(255, 255, 255, .07);
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 26px;
  font-size: .72rem;
  height: 26px;
  justify-content: center;
  width: 26px;
}
.aml-player-audio.is-ready { background: rgba(92, 197, 150, .15); box-shadow: inset 0 0 0 1px rgba(92, 197, 150, .28); }
.aml-player-audio.is-waiting { background: rgba(223, 183, 95, .12); box-shadow: inset 0 0 0 1px rgba(223, 183, 95, .25); }

.aml-sound-card { background: rgba(84, 203, 213, .055); }
.aml-sound-card.is-required { background: linear-gradient(145deg, rgba(125, 88, 35, .18), rgba(20, 29, 45, .98)); border-color: rgba(223, 183, 95, .36); }
.aml-sound-card.is-confirm { background: linear-gradient(145deg, rgba(53, 112, 123, .22), rgba(19, 29, 46, .98)); border-color: rgba(84, 203, 213, .4); }
.aml-sound-card.is-ready { background: linear-gradient(145deg, rgba(44, 117, 80, .18), rgba(18, 31, 42, .98)); border-color: rgba(92, 197, 150, .34); }
.aml-sound-confirm-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.aml-sound-status .aml-sound-confirm-actions .aml-button { margin-top: 0; width: auto; }
.aml-audio-readiness { align-items: center; display: flex; flex: 1 0 100%; gap: 11px; }
.aml-audio-readiness > span { align-items: center; border-radius: 50%; display: flex; flex: 0 0 40px; font-size: 1.1rem; height: 40px; justify-content: center; }
.aml-audio-readiness strong,
.aml-audio-readiness small { display: block; }
.aml-audio-readiness small { color: var(--aml-muted); font-size: .7rem; margin-top: 2px; }
.aml-audio-readiness.is-ready > span { background: rgba(92, 197, 150, .16); border: 1px solid rgba(92, 197, 150, .35); }
.aml-audio-readiness.is-waiting > span { background: rgba(223, 183, 95, .13); border: 1px solid rgba(223, 183, 95, .32); }
.aml-ready-state.is-blocked > span { background: rgba(223, 183, 95, .13); border-color: rgba(223, 183, 95, .34); color: #f3d991; }

.aml-question-card { background: linear-gradient(155deg, rgba(24, 34, 55, .99), rgba(13, 20, 35, .99)); }
.aml-question-card h1,
.aml-reveal-card h1,
.aml-live-ranking h1,
.aml-final-stage h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 700; }
.aml-question-card h1 { font-size: clamp(2rem, 4.2vw, 3.35rem); line-height: 1.02; }
.aml-question-kicker { color: #71d4dc; }
.aml-timer { border-radius: 11px; font-size: 1.2rem; min-height: 52px; }
.aml-context {
  align-items: center;
  background: linear-gradient(135deg, rgba(223, 183, 95, .13), rgba(165, 138, 235, .1));
  border: 1px solid rgba(223, 183, 95, .32);
  border-radius: 13px;
  display: flex;
  gap: 12px;
  justify-content: center;
  margin: 0 auto 22px;
  max-width: 780px;
  padding: 11px 16px;
}
.aml-context span { color: #d9b96f; font-size: .65rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.aml-context strong { color: #fff8e8; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1rem, 2vw, 1.25rem); }
.aml-choice { background: rgba(9, 15, 27, .72); border-radius: 13px; }
.aml-choice-copy strong { color: #fffdf8; }
.aml-choice-copy small { color: #c4c9d4; font-size: .74rem; }
.aml-question-sound-lock {
  align-items: center;
  background: linear-gradient(145deg, rgba(119, 83, 32, .19), rgba(13, 22, 35, .96));
  border: 1px solid rgba(223, 183, 95, .38);
  border-radius: 17px;
  display: flex;
  gap: 17px;
  margin: 22px auto 0;
  max-width: 780px;
  padding: clamp(17px, 3vw, 24px);
}
.aml-sound-lock-icon { align-items: center; background: rgba(223, 183, 95, .14); border: 1px solid rgba(223, 183, 95, .28); border-radius: 50%; display: flex; flex: 0 0 52px; font-size: 1.4rem; height: 52px; justify-content: center; }
.aml-question-sound-lock strong { font-size: 1.15rem; }
.aml-question-sound-lock p { color: var(--aml-muted); margin: 3px 0 13px; }

.aml-live-ranking { max-width: 900px; }
.aml-live-ranking h1 { font-size: clamp(2rem, 4.6vw, 3.45rem); line-height: 1.02; }
.aml-ranking li { border-radius: 12px; }
.aml-qr-dialog { background: #fffdf8; color: #29241f; }
.aml-qr-dialog h2,
.aml-qr-code-label strong { color: #29241f; font-family: Georgia, "Times New Roman", serif; }

.aml-footer { background: var(--aml-paper); color: #6f665d; }
.aml-footer strong { color: #302a25; }
.aml-footer a { color: #6650a2; }

.arcade-musicale-live.is-presentation,
.arcade-musicale-live:fullscreen { background: #090d18; }
.arcade-musicale-live.is-presentation .aml-main,
.arcade-musicale-live:fullscreen .aml-main { border: 0; border-radius: 0; box-shadow: none; margin: 0; width: 100%; }

@media (max-width: 1024px) {
  .aml-main { border-radius: 24px; max-width: calc(100vw - 24px); width: calc(100% - 24px); }
  .aml-entry-grid { grid-template-columns: 1fr; max-width: 760px; }
}

@media (max-width: 700px) {
  .aml-header { background: #faf7f0; }
  .aml-main { border-radius: 0; border-width: 1px 0; margin: 0; max-width: none; min-height: calc(100svh - 62px); padding: 22px max(11px, env(safe-area-inset-right)) 36px max(11px, env(safe-area-inset-left)); width: 100%; }
  .aml-live-hero h1 { font-size: clamp(2.55rem, 13vw, 4rem); }
  .aml-sound-confirm-actions { flex-direction: column; }
  .aml-sound-status .aml-sound-confirm-actions .aml-button { width: 100%; }
  .aml-context { align-items: flex-start; flex-direction: column; gap: 3px; text-align: left; }
  .aml-question-sound-lock { align-items: flex-start; }
}

@media (max-width: 480px) {
  .aml-card { border-radius: 17px; }
  .aml-entry-grid { gap: 13px; }
  .aml-entry-heading h2 { font-size: 1.4rem; }
  .aml-question-sound-lock { flex-direction: column; }
  .aml-question-sound-lock .aml-button { width: 100%; }
  .aml-player-list li { max-width: 100%; }
}

@media (pointer: coarse) and (orientation: landscape) and (max-height: 560px) and (min-width: 560px) {
  .aml-main { border-radius: 0; margin: 0; max-width: none; min-height: calc(100svh - 54px); width: 100%; }
  .aml-live-hero { display: none; }
  .aml-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aml-entry-grid .aml-card { padding: 15px; }
}

/* 8.3.14 — configuration sonore et conduite des salles partagées. */
.aml-create-settings { display: grid; gap: 18px; }
.aml-create-settings[hidden] { display: none !important; }
.aml-audio-mode-fieldset {
  border: 1px solid var(--aml-line);
  border-radius: 16px;
  padding: 16px;
}
.aml-audio-mode-fieldset legend { padding-inline: 6px; }
.aml-step-number {
  align-items: center;
  background: var(--aml-violet);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-family: inherit;
  font-size: .72rem;
  height: 24px;
  justify-content: center;
  margin-right: 6px;
  width: 24px;
}
.aml-fieldset-intro { color: var(--aml-muted); font-size: .78rem; line-height: 1.45; margin: 0 0 12px; }
.aml-audio-mode-options { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aml-audio-mode-card {
  align-items: center;
  background: var(--aml-surface-2);
  border: 2px solid var(--aml-line);
  border-radius: 14px;
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  min-height: 108px;
  padding: 13px;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.aml-audio-mode-card:hover { border-color: var(--aml-line-strong); transform: translateY(-1px); }
.aml-audio-mode-card:focus-within { box-shadow: 0 0 0 3px rgba(173, 131, 255, .25); outline: 2px solid transparent; }
.aml-audio-mode-card:has(input:checked) { border-color: var(--aml-violet); box-shadow: inset 0 0 0 1px var(--aml-violet); }
.aml-audio-mode-card > input { accent-color: var(--aml-violet); height: 20px; margin: 0; width: 20px; }
.aml-audio-mode-visual { align-items: center; background: var(--aml-surface-3); border-radius: 11px; display: flex; height: 42px; justify-content: center; width: 42px; }
.aml-audio-mode-visual .aml-ui-icon { height: 23px; width: 23px; }
.aml-audio-mode-copy { display: grid; gap: 2px; min-width: 0; }
.aml-audio-mode-copy > small { color: var(--aml-cyan); font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.aml-audio-mode-copy > strong { color: #fff; font-size: .96rem; line-height: 1.2; }
.aml-audio-mode-copy > span { color: var(--aml-muted); font-size: .78rem; line-height: 1.45; }
.aml-audio-mode-check { align-items: center; background: var(--aml-violet); border-radius: 50%; color: #fff; display: flex; height: 24px; justify-content: center; opacity: 0; transform: scale(.75); transition: opacity .18s ease, transform .18s ease; width: 24px; }
.aml-audio-mode-card:has(input:checked) .aml-audio-mode-check { opacity: 1; transform: scale(1); }
.aml-audio-mode-summary { color: var(--aml-muted); font-size: .72rem; margin: 11px 0 0; min-height: 1.4em; }

.aml-room-audio-mode {
  align-items: center;
  background: rgba(173, 131, 255, .1);
  border: 1px solid rgba(173, 131, 255, .25);
  border-radius: 999px;
  color: #e9ddff;
  display: inline-flex;
  font-size: .76rem;
  font-weight: 800;
  gap: 5px;
  padding: 5px 9px;
}
.aml-room-audio-mode .aml-ui-icon { height: 15px; width: 15px; }
.aml-room-audio-mode.is-individual { background: rgba(85, 217, 239, .08); border-color: rgba(85, 217, 239, .2); color: #dffaff; }
.aml-sound-card.is-shared,
.aml-audio-box.is-shared { background: rgba(173, 131, 255, .08); border-color: rgba(173, 131, 255, .24); }
.aml-choice-grid.is-display-only .aml-choice,
.aml-timeline-duel.is-display-only .aml-timeline-card { cursor: default; pointer-events: none; }
.aml-choice-grid.is-display-only .aml-choice:hover,
.aml-timeline-duel.is-display-only .aml-timeline-card:hover { box-shadow: none; transform: none; }

.aml-manual-control { display: grid; gap: 8px; }
.aml-manual-control > strong { font-size: 1.15rem; }
.aml-manual-control > small { color: var(--aml-muted); line-height: 1.5; }
.aml-manual-control .aml-button { margin-top: 5px; width: 100%; }
.aml-manual-control.is-waiting { background: rgba(173, 131, 255, .07); }
.aml-manual-reconnect { display: grid; gap: 12px; margin: 20px auto 0; max-width: 780px; }
.aml-manual-reconnect > .aml-sound-card { margin: 0; }
.aml-manual-reconnect .aml-manual-phase-action { margin-top: 0; max-width: none; width: 100%; }
.aml-manual-phase-action.is-locked { opacity: .78; }
.aml-manual-phase-action,
.aml-manual-phase-note {
  align-items: center;
  background: rgba(173, 131, 255, .08);
  border: 1px solid rgba(173, 131, 255, .26);
  border-radius: 15px;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin: 20px auto 0;
  max-width: 780px;
  padding: 13px 15px;
  text-align: left;
}
.aml-manual-phase-action span > strong,
.aml-manual-phase-action span > small { display: block; }
.aml-manual-phase-action span > small { color: var(--aml-muted); font-size: .72rem; line-height: 1.45; margin-top: 2px; }
.aml-manual-phase-note { color: var(--aml-muted); display: block; font-size: .8rem; text-align: center; }
.aml-manual-badge { background: rgba(173, 131, 255, .12); border: 1px solid rgba(173, 131, 255, .3); border-radius: 999px; color: #e9ddff; font-size: .72rem; font-weight: 850; padding: 8px 12px; }

@media (max-width: 680px) {
  .aml-audio-mode-options { grid-template-columns: 1fr; }
  .aml-audio-mode-card { min-height: 92px; }
  .aml-room-audio-mode { border-radius: 8px; font-size: .76rem; line-height: 1.25; white-space: normal; }
  .aml-manual-phase-action { align-items: stretch; flex-direction: column; }
  .aml-manual-phase-action .aml-button { width: 100%; }
}

@media (max-width: 350px) {
  .aml-audio-mode-fieldset { padding: 12px 9px; }
  .aml-audio-mode-card { gap: 7px; grid-template-columns: auto minmax(0, 1fr) auto; padding: 10px 8px; }
  .aml-audio-mode-card > input { grid-row: 1 / 3; }
  .aml-audio-mode-visual { display: none; }
  .aml-audio-mode-copy > span { font-size: .76rem; }
}

@media (forced-colors: active) {
  .aml-audio-mode-card:has(input:checked) { outline: 3px solid Highlight; }
  .aml-audio-mode-check { forced-color-adjust: none; }
}

/* Le retour Accueil du thème ne doit plus rester fixé au-dessus de la salle
   après le recentrage automatique d’une nouvelle phase sur petit écran. */
@media (max-width: 700px) {
  body.atlas-musical-live-page .ah-home-return {
    position: absolute !important;
  }
}

/* 8.3.36 — réponses de L’Intrus centrées comme dans l’arcade solo. */
.arcade-musicale-live .aml-question-card.is-odd-question .aml-common-rule {
  background: linear-gradient(135deg, #493719, #352a20);
  border: 2px solid rgba(235, 194, 105, .88);
  border-left: 5px solid #e8bd5f;
  box-shadow: inset 0 1px rgba(255, 241, 206, .1), 0 8px 22px rgba(71, 49, 19, .12);
}
.arcade-musicale-live .aml-question-card.is-odd-question .aml-common-rule > strong {
  color: #ffdf8e;
  font-size: clamp(1.12rem, 2.25vw, 1.45rem);
  font-weight: 900;
  line-height: 1.35;
}
.arcade-musicale-live .aml-question-card.is-odd-question {
  min-height: 0;
}
.arcade-musicale-live .aml-question-card.is-odd-question .aml-choice-grid {
  align-content: start;
  align-items: start;
  grid-auto-rows: minmax(84px, max-content);
  width: 100%;
}
.arcade-musicale-live .aml-question-card.is-odd-question .aml-choice {
  align-self: start;
  block-size: auto;
  flex-direction: column;
  gap: 7px;
  justify-content: center;
  min-height: 84px;
  padding: 14px 12px;
  position: relative;
  text-align: center;
}
.arcade-musicale-live .aml-question-card.is-odd-question .aml-choice-index {
  box-sizing: border-box;
  flex: 0 0 28px;
  height: 28px;
  line-height: 1;
  margin: 0 auto;
  min-width: 28px;
  position: static;
  width: 28px;
}
.arcade-musicale-live .aml-question-card.is-odd-question .aml-choice-copy {
  max-width: 100%;
  text-align: center;
  width: 100%;
}
.arcade-musicale-live .aml-question-card.is-odd-question .aml-choice-copy strong,
.arcade-musicale-live .aml-question-card.is-odd-question .aml-choice-copy small {
  overflow-wrap: anywhere;
  text-align: center;
}

@media (orientation: landscape) and (max-height: 480px) {
  .arcade-musicale-live .aml-question-card.is-odd-question .aml-choice-grid {
    grid-auto-rows: minmax(58px, max-content);
  }
  .arcade-musicale-live .aml-question-card.is-odd-question .aml-choice {
    min-height: 64px;
    padding: 9px 12px;
  }
  .arcade-musicale-live .aml-question-card.is-odd-question .aml-choice-index {
    display: flex;
  }
}

@media (max-width: 700px) and (orientation: portrait) {
  .arcade-musicale-live .aml-question-card.is-odd-question .aml-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .arcade-musicale-live .aml-question-card.is-odd-question .aml-choice {
    min-height: 78px;
    padding: 12px 9px;
  }
}

/* 8.3.47 — une question Live s’ouvre dans un espace de jeu plein écran. */
html:has(body.atlas-musical-live-question),
body.atlas-musical-live-question {
  block-size: 100vh !important;
  block-size: 100dvh !important;
  min-block-size: 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
}
body.atlas-musical-live-question {
  inset: 0 !important;
  position: fixed !important;
  width: 100% !important;
}
body.atlas-musical-live-question .ah-home-return { display: none !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question {
  block-size: 100vh !important;
  block-size: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  inset: 0 !important;
  margin: 0 !important;
  max-block-size: 100vh !important;
  max-block-size: 100dvh !important;
  max-inline-size: none !important;
  min-block-size: 0 !important;
  overflow: hidden !important;
  position: fixed !important;
  width: 100vw !important;
  z-index: 99999 !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question > :is(.aml-header, .aml-footer) { display: none !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question > .aml-main {
  box-sizing: border-box !important;
  display: flex !important;
  flex: 1 1 auto !important;
  height: auto !important;
  margin: 0 !important;
  max-block-size: none !important;
  max-inline-size: none !important;
  min-block-size: 0 !important;
  overflow: hidden !important;
  padding: max(8px, env(safe-area-inset-top)) clamp(8px, 2vw, 22px) max(8px, env(safe-area-inset-bottom)) !important;
  width: 100% !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-shell {
  display: flex !important;
  flex: 1 1 auto !important;
  margin: 0 auto !important;
  max-block-size: 100% !important;
  max-inline-size: 1260px !important;
  min-block-size: 0 !important;
  min-inline-size: 0 !important;
  width: 100% !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 7px !important;
  min-block-size: 0 !important;
  min-inline-size: 0 !important;
  width: 100% !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar {
  align-items: center !important;
  flex: 0 0 auto !important;
  gap: 8px !important;
  margin: 0 !important;
  min-block-size: 48px !important;
  padding: 6px 9px !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar-main,
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar-actions { gap: 6px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room-code strong { font-size: 1.15rem !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room-phase,
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room-audio-mode { font-size: .62rem !important; padding: 4px 7px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room-progress { min-height: 40px !important; padding: 6px 8px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-layout {
  display: grid !important;
  flex: 1 1 auto !important;
  gap: 9px !important;
  grid-template-columns: minmax(0, 1fr) 250px !important;
  min-block-size: 0 !important;
  min-inline-size: 0 !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card {
  box-sizing: border-box !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 5px !important;
  height: 100% !important;
  min-block-size: 0 !important;
  min-inline-size: 0 !important;
  overflow: hidden !important;
  padding: 12px 16px !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-game-progress { flex: 0 0 4px !important; min-height: 4px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-head { flex: 0 0 auto !important; gap: 8px !important; margin: 0 0 3px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-kicker,
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-progress-label { font-size: .68rem !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timer-wrap { flex: 0 0 auto !important; margin: 0 0 3px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timer { min-height: 44px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card > h1 {
  flex: 0 0 auto !important;
  font-size: clamp(1.35rem, 3.6vw, 2.5rem) !important;
  line-height: 1.06 !important;
  margin: 2px auto 5px !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-context {
  flex: 0 0 auto !important;
  line-height: 1.3 !important;
  margin: 2px auto 5px !important;
  max-width: 100% !important;
  padding: 7px 10px !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-audio-box {
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  gap: 8px !important;
  margin: 3px auto 5px !important;
  max-width: 760px !important;
  padding: 8px !important;
  width: 100% !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-audio-box .aml-button { min-height: 44px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-grid {
  flex: 0 0 auto !important;
  gap: 7px !important;
  margin: 3px auto 0 !important;
  max-width: 900px !important;
  width: 100% !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice {
  box-sizing: border-box !important;
  min-height: 50px !important;
  padding: 7px 10px !important;
}
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-copy strong { font-size: .9rem !important; line-height: 1.18 !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-copy small { font-size: .66rem !important; line-height: 1.16 !important; margin-top: 2px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-answer-submit { flex: 0 0 auto !important; margin: 5px auto 0 !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-answer-submit .aml-button { min-height: 44px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-side-stack { align-content: start !important; gap: 8px !important; min-block-size: 0 !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-side-stack > * { min-block-size: 0 !important; padding: 12px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-side-stack .aml-stat-card > strong { font-size: 1.4rem !important; margin-top: 3px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-list { flex: 0 0 auto !important; gap: 6px !important; margin: 4px auto !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-row { gap: 7px !important; padding: 6px 8px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-row select { min-height: 44px !important; padding: 6px 8px !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timeline-duel { flex: 0 0 auto !important; margin: 3px auto !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timeline-cards { gap: 7px !important; margin: 5px auto !important; }
body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timeline-card { min-height: 58px !important; padding: 7px 10px !important; }

@media (max-width: 960px) {
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-layout { grid-template-columns: minmax(0, 1fr) !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-side-stack { display: none !important; }
}
@media (max-width: 700px) {
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question > .aml-main { padding: max(6px, env(safe-area-inset-top)) 8px max(6px, env(safe-area-inset-bottom)) !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room { gap: 5px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar { align-items: flex-start !important; flex-wrap: wrap !important; min-height: 0 !important; padding: 5px 7px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar-main { align-items: center !important; flex: 1 1 100% !important; flex-wrap: nowrap !important; justify-content: space-between !important; min-width: 0 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room-code { gap: 4px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room-code span { font-size: .55rem !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room-code strong { font-size: 1rem !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room-audio-mode { font-size: .52rem !important; max-width: 46% !important; padding: 4px 6px !important; white-space: nowrap !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar-actions { align-items: center !important; flex: 1 1 100% !important; flex-wrap: wrap !important; justify-content: space-between !important; min-width: 0 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room-phase { font-size: .55rem !important; padding: 4px 6px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar .aml-button { min-height: 44px !important; padding: 6px 8px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-shared-volume { flex: 1 1 100% !important; min-width: 0 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card { gap: 4px !important; padding: 8px 10px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-head { margin-bottom: 1px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-kicker,
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-progress-label { font-size: .58rem !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timer-wrap { margin-bottom: 1px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card > h1 { font-size: clamp(1.2rem, 5vw, 1.8rem) !important; margin: 1px auto 3px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-context { font-size: .72rem !important; margin: 1px auto 3px !important; padding: 6px 8px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-audio-box { gap: 7px !important; margin: 2px auto 3px !important; padding: 6px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-audio-box > span { font-size: 1.1rem !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-audio-copy small { font-size: .6rem !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 5px !important; margin-top: 2px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice { min-height: 44px !important; padding: 5px 8px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-copy strong { font-size: .82rem !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-copy small { font-size: .6rem !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card.is-odd-question .aml-choice-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card.is-odd-question .aml-choice { min-height: 44px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-list { grid-template-columns: minmax(0, 1fr) !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-row { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-token { font-size: .72rem !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timeline-cards { grid-template-columns: minmax(0, 1fr) !important; gap: 5px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timeline-card { min-height: 44px !important; padding: 5px 8px !important; }
}

/* Une fenêtre portrait basse manque surtout de hauteur : deux colonnes
   gardent les quatre réponses visibles tout en préservant de grandes cibles. */
@media (max-width: 600px) and (max-height: 700px) and (orientation: portrait) {
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card { gap: 3px !important; padding: 7px 8px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-head { margin-bottom: 1px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card > h1 { font-size: clamp(1.05rem, 4.3vw, 1.35rem) !important; line-height: 1.03 !important; margin: 0 auto 2px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-context { font-size: .66rem !important; line-height: 1.15 !important; margin: 1px auto 2px !important; padding: 5px 7px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timer-wrap { flex-direction: row !important; gap: 7px !important; margin: 0 0 2px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timer { min-height: 38px !important; min-width: 68px !important; padding: 4px 10px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timer-label { font-size: .58rem !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 5px !important; margin-top: 2px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice { min-height: 48px !important; padding: 5px 6px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-copy strong { font-size: .72rem !important; line-height: 1.12 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-copy small { font-size: .53rem !important; line-height: 1.1 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card.is-odd-question .aml-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* En paysage, la grille réduit les lignes sans réduire la taille des boutons. */
@media (max-height: 560px) and (max-width: 960px) and (orientation: landscape) {
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card { gap: 3px !important; padding: 6px 9px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-head { margin-bottom: 1px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card > h1 { font-size: clamp(1rem, 2.8vw, 1.3rem) !important; line-height: 1.03 !important; margin: 0 auto 2px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-context { font-size: .65rem !important; line-height: 1.12 !important; margin: 1px auto 2px !important; padding: 4px 7px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timer-wrap { flex-direction: row !important; gap: 7px !important; margin: 0 0 2px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timer { min-height: 36px !important; min-width: 64px !important; padding: 3px 8px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 5px !important; margin-top: 2px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice { min-height: 44px !important; padding: 4px 7px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-copy strong { font-size: .72rem !important; line-height: 1.1 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-copy small { font-size: .53rem !important; line-height: 1.08 !important; }
}

/* Orchestra Builder conserve le plan et sa banque dans la première vue. */
@media (max-height: 700px) and (max-width: 960px) {
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-workspace { align-items: stretch !important; display: grid !important; flex: 1 1 auto !important; gap: 5px !important; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important; grid-template-rows: minmax(0, 1fr) auto !important; margin: 0 !important; min-height: 0 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-workspace .aml-orchestra-stage-map { grid-column: 1 !important; grid-row: 1 !important; margin: 0 !important; min-height: 0 !important; padding: 5px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-stage-map > header { align-items: center !important; gap: 2px !important; margin-bottom: 3px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-stage-map > header span { font-size: .5rem !important; letter-spacing: .04em !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-stage-map > header strong { font-size: .48rem !important; line-height: 1.05 !important; white-space: nowrap !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-stage-shell { align-items: stretch !important; display: grid !important; flex: 1 1 auto !important; gap: 4px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-template-rows: repeat(2, minmax(44px, 1fr)) !important; min-height: 0 !important; padding: 5px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-stage-zone { gap: 2px !important; grid-template-columns: minmax(0, 1fr) !important; min-height: 44px !important; padding: 3px !important; width: 100% !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-zone-copy { text-align: center !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-zone-copy b { font-size: .52rem !important; letter-spacing: 0 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-drop { min-height: 44px !important; padding: 2px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-drop small,
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-conductor { display: none !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-bank { grid-column: 2 !important; grid-row: 1 !important; min-width: 0 !important; padding: 5px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-bank > header { gap: 2px !important; margin-bottom: 4px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-bank > header strong { font-size: .55rem !important; letter-spacing: .025em !important; line-height: 1.05 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-bank > header small { font-size: .54rem !important; line-height: 1.08 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-bank-list { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 4px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-bank-token { align-content: center !important; grid-template-columns: minmax(0, 1fr) !important; justify-items: center !important; min-height: 44px !important; padding: 3px 4px !important; text-align: center !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-bank-token strong { font-size: .68rem !important; line-height: 1.08 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-bank-emoji,
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-bank-token small { display: none !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-workspace-bottom { grid-column: 1 / -1 !important; grid-row: 2 !important; justify-content: flex-end !important; min-height: 44px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-instruction { display: none !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-workspace-bottom .aml-answer-submit { margin: 0 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-workspace-bottom .aml-button { min-height: 44px !important; }
}
@media (max-height: 560px) and (max-width: 960px) and (orientation: landscape) {
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-bank-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-height: 700px) and (max-width: 960px) {
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-shared-volume .aml-volume-step { min-height: 44px !important; min-width: 44px !important; padding: 0 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-sound-lock { align-items: center !important; flex-direction: row !important; gap: 7px !important; margin: 2px auto 0 !important; padding: 8px !important; width: 100% !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-sound-lock-icon { flex: 0 0 36px !important; font-size: 1rem !important; height: 36px !important; width: 36px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-sound-lock > div { display: flex !important; flex: 1 1 auto !important; flex-wrap: wrap !important; gap: 2px 6px !important; min-width: 0 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-sound-lock strong { font-size: .8rem !important; line-height: 1.1 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-sound-lock p { flex: 1 1 100% !important; font-size: .62rem !important; line-height: 1.15 !important; margin: 0 0 2px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-sound-lock .aml-button { font-size: .64rem !important; min-height: 44px !important; padding: 5px 9px !important; width: auto !important; }
}

/* Les informations de salle sont secondaires pendant une manche : les commandes
   utiles restent visibles sans pousser les réponses sous le premier écran. */
@media (max-height: 560px) and (max-width: 960px) and (orientation: landscape) {
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar { align-items: center !important; display: flex !important; flex-wrap: nowrap !important; gap: 6px !important; min-height: 48px !important; padding: 4px 7px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar-main { display: none !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar-actions { align-items: center !important; display: flex !important; flex: 1 1 auto !important; flex-wrap: nowrap !important; gap: 5px !important; justify-content: flex-end !important; min-width: 0 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room-progress { display: none !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar .aml-button { font-size: .72rem !important; min-height: 44px !important; padding: 4px 7px !important; white-space: nowrap !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-shared-volume { flex: 1 1 320px !important; gap: 4px !important; min-width: 0 !important; padding: 4px 6px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-shared-volume .aml-volume-step { height: 44px !important; width: 44px !important; }
}

@media (max-width: 600px) and (max-height: 700px) and (orientation: portrait) {
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar { align-items: center !important; display: grid !important; gap: 4px !important; grid-template-columns: minmax(0, 1fr) !important; min-height: 48px !important; padding: 4px 6px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar-main { display: none !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar-actions { align-items: center !important; display: flex !important; flex: 0 0 auto !important; flex-wrap: nowrap !important; gap: 4px !important; grid-column: 1 !important; justify-content: flex-end !important; min-width: 0 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-room-progress { display: none !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-roombar .aml-button { font-size: .68rem !important; min-height: 44px !important; padding: 4px 7px !important; white-space: nowrap !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-shared-volume { flex: 1 1 auto !important; gap: 4px !important; min-width: 0 !important; padding: 3px 5px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-shared-volume-title > span { display: none !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-shared-volume .aml-volume-step { height: 44px !important; width: 44px !important; }
}

@media (max-width: 350px) and (max-height: 700px) and (orientation: portrait) {
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-workspace { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important; grid-template-rows: minmax(0, 1fr) auto !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-workspace .aml-orchestra-stage-map { grid-column: 1 !important; grid-row: 1 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-stage-shell { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: repeat(4, minmax(44px, 1fr)) !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-workspace .aml-orchestra-bank { grid-column: 2 !important; grid-row: 1 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-bank-list { grid-template-columns: minmax(0, 1fr) !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-orchestra-workspace-bottom { grid-column: 1 / -1 !important; grid-row: 2 !important; }
}

@media (max-height: 560px) and (max-width: 960px) and (orientation: landscape) {
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card { gap: 2px !important; padding: 3px 9px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-head { margin-bottom: 0 !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timer-wrap { margin-bottom: 1px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-timer { min-height: 36px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-question-card > h1 { margin: 0 auto 2px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-audio-box { gap: 6px !important; margin: 1px auto !important; padding: 4px 6px !important; }
  body.atlas-musical-live-question .arcade-musicale-live.is-live-question .aml-choice-grid { gap: 4px !important; margin: 1px auto 0 !important; }
}

/* Le marqueur confirme le chargement du jeu après toutes les règles de manche. */
.arcade-musicale-live { --aml-final-css-ready: 84500; }
