:root{color-scheme:dark;--paper:#fff2d9;--gold:#ebc17d;--muted:#b9aebc;--line:#514052;--bg:#171019}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0,#46304680,transparent 60%),var(--bg);color:var(--paper);font:16px/1.55 system-ui,sans-serif}a{color:inherit}button,a{touch-action:manipulation}button,.button{border:1px solid var(--line);border-radius:8px;padding:13px 20px;font:700 14px system-ui;cursor:pointer;min-height:46px}button{color:var(--paper);background:#2a202e}.button{display:inline-flex;justify-content:center;gap:15px;align-items:center;text-decoration:none;background:var(--gold);color:#231623;border-color:var(--gold)}a:focus-visible,button:focus-visible{outline:3px solid #fff;outline-offset:5px}[hidden]{display:none!important}.masthead,main,footer{width:min(1320px,calc(100% - 80px));margin:auto}.masthead{display:flex;justify-content:space-between;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.brand{position:relative;font:bold 17px/.95 Georgia,serif;letter-spacing:.04em;text-decoration:none;padding-right:44px}.brand span{font-size:20px}.brand b{position:absolute;right:0;top:0;font-size:40px;color:var(--gold)}.contact{font-size:14px;text-decoration:none}.contact span{margin-left:14px;color:var(--gold)}.intro{padding:48px 0 30px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--gold)}h1{font:normal clamp(38px,5vw,70px)/1.05 Georgia,serif;margin:15px 0 22px}h1 em{color:var(--gold);font-weight:normal}p{margin:12px 0}.intro>p:last-child{color:var(--muted)}.quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px;align-items:stretch}.sleeve{position:relative;min-width:0;background:#241b28;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;align-items:center}.sleeve img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.cover-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#110c15e8);padding:38px 20px 16px;font-size:10px;letter-spacing:.18em}.scan{background:#241b28;border:1px solid var(--line);border-radius:12px;text-align:center;padding:24px 18px}.scan h2{font:normal 28px/1.15 Georgia,serif;margin:10px 0 20px}.scan canvas{display:block;margin:0 auto;width:156px!important;height:156px!important;border-radius:5px}.scan p:not(.eyebrow){font-size:13px;color:var(--muted);margin:16px 0}.scan small{font-size:10px;display:block;margin-top:9px;color:var(--muted)}.mobile-reveal{width:100%;font-size:12px}.controls{display:flex;align-items:center;justify-content:space-between;padding:18px 0;color:var(--muted);font-size:12px}.controls>div{display:flex;gap:8px}.controls button{padding:10px 17px}.steps{display:flex;gap:40px;border-top:1px solid var(--line);padding:16px 0 30px;color:var(--muted);font-size:13px}.steps b{color:var(--gold);margin-right:12px}.session{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 40px}.session h2{font:normal 27px Georgia,serif;margin:10px 0}.session p:not(.eyebrow){color:var(--muted);font-size:14px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:24px 0 40px;font-size:12px;color:var(--muted)}#answer{max-width:640px;margin:40px auto}.track{border:1px solid var(--gold);border-radius:12px;overflow:hidden;background:#251b28}.track img{width:100%;height:auto;display:block}.track>div{padding:20px 24px}.track h2{font:normal 32px/1.2 Georgia,serif;margin:8px 0}.track #track-artist{color:var(--gold);font-size:18px}.invitation{padding:24px 0}.invitation h2{font:normal 30px/1.2 Georgia,serif}.invitation p{color:var(--muted)}.back{font-size:13px;color:var(--muted)}@media(min-width:1500px){.intro{padding-top:32px}.intro h1 br{display:none}}@media(max-width:760px){.masthead,main,footer{width:calc(100% - 32px)}.masthead{padding:22px 0}.intro{padding:32px 0 22px}.quiz-layout{grid-template-columns:1fr;gap:15px}.scan{padding:22px}.scan h2 br{display:none}.scan canvas,.scan #qr-link,.scan small{display:none}.scan h2{font-size:26px;margin-bottom:12px}.scan .eyebrow{display:none}.scan p:not(.eyebrow){margin:10px 0 20px}.steps{gap:12px;justify-content:space-between}.steps p{max-width:90px}.steps b{display:block}.session,footer{align-items:flex-start;flex-direction:column}.session .button{width:100%}.invitation .button{width:100%}.track h2{font-size:28px}.contact{font-size:12px}}
.puzzle-column{min-width:0}.scan{align-self:start}.hangman{margin-top:16px;padding:24px;background:#241b28;border:1px solid var(--line);border-radius:12px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.game-heading h2{font:normal 30px Georgia,serif;margin:8px 0}.gallows{width:75px;height:90px;fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;flex-shrink:0}#hangman-parts>*{visibility:hidden}.game-help{font-size:13px;color:var(--muted)}.word{display:flex;flex-wrap:wrap;gap:14px 20px;margin:24px 0}.word-group{display:inline-flex;gap:4px;flex-wrap:wrap;max-width:100%}.letter{min-width:22px;text-align:center;border-bottom:2px solid var(--gold);font-weight:700;font-size:20px}.punctuation{font-size:20px}.letters{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:5px}.letters button{padding:8px 0;min-width:0}.letters button:disabled{opacity:.4;cursor:default}.letters button.correct{background:var(--gold);color:#211522;opacity:1}.letters button.incorrect{background:#593240}.game-status{font-size:14px;color:var(--gold)}.artist-reward{border-top:1px solid var(--gold);padding-top:18px;margin-top:18px}.artist-reward h3{font:normal 28px Georgia,serif;margin:8px 0}.artist-reward>p{font-size:23px;font-weight:700;color:var(--gold)}@media(max-width:760px){.hangman{padding:18px}.letters{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.letter{min-width:18px;font-size:18px}.word{gap:12px}.game-heading h2{font-size:26px}}
.riddle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:24px 0}.title-clue,.artist-clue{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1}.artist-clue{justify-content:flex-end;text-align:right}.riddle-row .word{margin:0;gap:12px}.artist-clue .word{justify-content:flex-end}.clue-icon{font-size:21px;color:var(--gold);flex-shrink:0;line-height:1.5}#artist-hint .letter{font-size:15px;min-width:13px}#artist-hint .word-group{gap:3px}@media(max-width:760px){.riddle-row{flex-direction:column;gap:18px}.title-clue,.artist-clue{width:100%}.artist-clue{align-self:flex-end}}
/* Desktop game board: all playing controls fit in the visible landscape screen. */
@media(min-width:900px) and (min-height:600px){
 .masthead,main,footer{width:min(1480px,calc(100% - 48px))}
 .masthead{height:64px;padding:12px 0}.brand{font-size:14px}.brand span{font-size:17px}.brand b{font-size:32px}
 #quiz .intro{height:100px;padding:12px 0}.intro .eyebrow{margin:0 0 5px;font-size:10px}.intro h1{font-size:clamp(30px,3.1vw,46px);margin:0 0 5px;line-height:1.1}.intro h1 br{display:none}.intro>p:last-child{font-size:12px;margin:0}
 .quiz-layout{height:calc(100svh - 240px);grid-template-columns:minmax(0,1fr) 240px;gap:18px}
 .puzzle-column{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-height:0}
 .sleeve{height:100%;justify-content:center;background:#100c12}.sleeve img{width:100%;height:100%;min-height:0;object-fit:contain;aspect-ratio:auto}.cover-label{padding:22px 12px 8px;font-size:9px}
 .hangman{margin:0;padding:10px 14px}.game-heading{height:34px;gap:10px}.game-heading>div{display:flex;align-items:baseline;gap:12px}.game-heading .eyebrow{margin:0;font-size:9px}.game-heading h2{font-size:21px;margin:0}.gallows{width:36px;height:40px}
 .game-help{margin:4px 0;font-size:11px}.hangman>.game-help:last-child{display:none}.riddle-row{margin:10px 0;gap:16px}.riddle-row .word{gap:8px 12px}.letter{font-size:17px;min-width:18px}.punctuation{font-size:17px}.clue-icon{font-size:18px}#artist-hint .letter{font-size:14px;min-width:11px}
 .letters{gap:4px}.letters button{min-height:32px;padding:6px 0;font-size:12px}.game-status{margin:6px 0 0;font-size:12px}.artist-reward{display:none}#game-retry{min-height:30px;padding:5px 12px;margin-top:5px;font-size:12px}
 .scan{padding:16px 12px;max-height:100%;align-self:start}.scan .eyebrow{margin:0 0 8px;font-size:9px}.scan h2{font-size:24px;margin:6px 0 14px}.scan p:not(.eyebrow){font-size:12px;margin:12px 0}.scan .button{min-height:38px;padding:8px}.scan small{font-size:9px}
 .controls{height:48px;padding:6px 0;font-size:11px}.controls button{min-height:34px;padding:7px 14px;font-size:12px}
 #load-error:empty{display:none}.steps{height:24px;padding:2px 0;gap:28px;font-size:11px}.steps p{margin:0}
}

.slide-countdown{position:absolute;top:14px;right:14px;padding:6px 10px;border:1px solid #ebc17d80;border-radius:7px;background:#171019d9;color:var(--gold);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none}

.quiz-sidebar{display:flex;flex-direction:column;gap:14px;min-height:0}.quiz-sidebar .scan{width:100%}.pendu-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:16px;background:#241b28;border:1px solid var(--line);border-radius:12px}.pendu-panel h2{margin:0 0 10px}.pendu-panel .gallows{width:160px;height:176px;max-width:100%;stroke-width:2.5}
@media(min-width:900px) and (min-height:600px){.quiz-sidebar{height:100%;gap:10px}.pendu-panel{flex:1;min-height:0;padding:10px}.pendu-panel h2{font-size:10px;margin:0 0 6px}.pendu-panel .gallows{width:100%;height:auto;flex:1;min-height:0;max-height:260px}.quiz-sidebar .scan{flex:none}.quiz-sidebar .scan canvas{width:120px!important;height:120px!important}.quiz-sidebar .scan h2{font-size:22px;margin:4px 0 10px}.quiz-sidebar .scan p:not(.eyebrow){margin:8px 0}.quiz-sidebar .scan{padding:12px}.quiz-sidebar .scan small{margin-top:5px}}
@media(min-width:900px) and (min-height:600px) and (max-height:760px){.quiz-sidebar .scan canvas{width:90px!important;height:90px!important}.quiz-sidebar .scan h2{font-size:19px}.quiz-sidebar .scan p:not(.eyebrow){font-size:11px}.quiz-sidebar .scan small{display:none}}
.session-live{border:1px solid var(--line);border-radius:12px;background:#241b28;overflow:hidden;flex:none}.live-badge{font-size:10px;letter-spacing:.09em;font-weight:800;padding:7px 10px;color:var(--gold)}.live-badge span{color:#ff675e;margin-right:5px}.live-preview{aspect-ratio:16/9;position:relative;background:#100c12;display:grid;place-items:center}.live-preview img{width:100%;height:100%;position:absolute;object-fit:contain}.live-preview p{font-size:12px;color:var(--muted);text-align:center;padding:10px}.session-live h2{font-size:13px;line-height:1.3;margin:0;padding:8px 10px;overflow-wrap:anywhere}.quiz-send h3{font:normal 23px Georgia,serif;margin:8px 0}.quiz-send p{font-size:12px;color:var(--muted);margin:6px 0}.quiz-send-fields{display:grid;grid-template-columns:1fr 1fr 2fr;gap:10px;margin:10px 0}.quiz-send label{display:block;font-size:12px}.quiz-send label span{color:var(--muted)}.quiz-send input{display:block;width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:6px;background:#171019;color:var(--paper);font:inherit;margin-top:4px}.quiz-send input:focus{outline:2px solid var(--gold)}.hangman.won>.game-help,.hangman.won>.game-status,.hangman.won>.artist-reward{display:none!important}.quiz-send .button{min-height:36px;padding:8px 12px;font-size:12px}.quiz-send #quiz-send-result:empty{display:none}
@media(min-width:900px) and (min-height:600px){.has-live .pendu-panel{min-height:65px}.has-live .session-live .live-preview{max-height:110px}.has-live .session-live h2{max-height:44px;overflow:auto}.has-live .scan p:not(.eyebrow),.has-live .scan small{display:none}.has-live .scan canvas{width:90px!important;height:90px!important}.has-live .scan h2{font-size:18px;margin:4px 0 8px}.has-live .scan .button{margin-top:8px;min-height:30px;font-size:11px;padding:5px}.has-live .scan{padding:9px}.has-live .scan .eyebrow{margin-bottom:5px}.quiz-send h3{font-size:19px}.quiz-send-fields{margin:6px 0}.quiz-send input{padding:6px}.hangman.won .riddle-row{margin:5px 0}}
@media(max-width:760px){.quiz-send-fields{grid-template-columns:1fr 1fr}.quiz-send .dedication-field{grid-column:1/-1}.session-live .live-preview{max-height:220px}}

.hangman{position:relative}.game-loss{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:11px;background:linear-gradient(135deg,#3f223eea,#231729ed);backdrop-filter:blur(2px);border:1px solid var(--gold);text-align:center;padding:14px}.game-loss p{margin:0;color:var(--paper);font-size:14px}.game-loss .loss-title{font:700 clamp(28px,3vw,42px)/1.1 Georgia,serif;color:var(--gold)}.game-loss #game-retry{font-size:14px;min-height:40px;padding:8px 24px;margin:4px 0 0}.hangman.lost{border-color:var(--gold)}.hangman.lost>:not(.game-loss){pointer-events:none}

@media(min-width:900px) and (min-height:600px) and (max-height:800px){.has-live .pendu-panel{min-height:120px}.has-live .session-live .live-preview{height:64px;aspect-ratio:auto}.has-live .scan canvas{width:80px!important;height:80px!important}.has-live .live-badge{font-size:9px;padding:5px 8px}.has-live .session-live h2{font-size:11px;padding:6px 8px}.has-live .scan h2{font-size:17px}.has-live .scan .eyebrow{display:none}}

.scan-card{position:relative;perspective:900px;isolation:isolate;transition:border-color .5s,box-shadow .5s}.scan-content,.scan-lock{backface-visibility:hidden;transition:transform .7s ease,visibility .7s;transform-style:preserve-3d}.scan-content{transform:rotateY(180deg);visibility:hidden;pointer-events:none}.scan-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px;background:radial-gradient(ellipse at top,#49304b,#241b28 75%);border-radius:11px;transform:rotateY(0)}.scan-lock svg{width:62px;height:70px;fill:none;stroke:var(--gold);stroke-width:2.5;stroke-linecap:round}.scan-lock strong{font:normal 21px/1.15 Georgia,serif;color:var(--gold)}.scan-lock span{font-size:11px;color:var(--muted);line-height:1.5}.scan-card.unlocked{border-color:var(--gold);box-shadow:0 0 0 1px #ebc17d55,0 0 28px #ebc17d55}.scan-card.unlocked .scan-lock{transform:rotateY(-180deg);visibility:hidden;pointer-events:none}.scan-card.unlocked .scan-content{transform:rotateY(0);visibility:visible;pointer-events:auto}
@media(prefers-reduced-motion:no-preference){.scan-card.unlocked{animation:reveal-gold 1.5s ease-out 2}@keyframes reveal-gold{50%{box-shadow:0 0 0 2px #ebc17d99,0 0 36px #ebc17d88}}}
@media(prefers-reduced-motion:reduce){.scan-card,.scan-content,.scan-lock{transition:none}}
@media(min-width:900px) and (max-height:800px){.scan-lock{gap:8px;padding:12px}.scan-lock svg{width:45px;height:52px}.scan-lock strong{font-size:18px}.scan-lock span{font-size:10px}}
/* Artist entrance and the Orchestrion's perforated score. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.game-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.artist-search{display:flex;align-items:center;gap:4px;max-width:290px;margin-left:auto}.artist-search input{min-width:0;width:215px;border:1px solid #675167;border-radius:6px;background:#19121e;color:#fff1d2;padding:8px 10px;font:inherit;font-size:12px}.artist-search button{padding:5px 10px;color:#edc779;font-size:22px;line-height:1}.artist-search-result{color:#edc779;font-size:11px;margin:4px 0}.artist-search-result:empty{display:none}.sleeve{position:relative}.orchestrion{position:absolute;inset:0;z-index:6;background:radial-gradient(ellipse at 50% 40%,#4e344b,#160f1ddd 70%);display:grid;place-items:center;backdrop-filter:blur(12px);text-align:center;color:#eed09a;padding:20px}.orchestrion[hidden]{display:none}.orchestrion-frame{width:min(100%,470px);border:1px solid #ba955d88;border-radius:100px 100px 12px 12px;padding:22px 24px 14px;box-shadow:inset 0 0 50px #0a050a,0 0 45px #c79a501a}.orchestrion h2{font-family:Georgia,serif;font-size:clamp(24px,3vw,44px);margin:5px 0 12px}.orchestrion-machine{height:170px;position:relative;overflow:hidden;margin:0 auto 15px;max-width:320px}.organ-pipes{display:flex;align-items:flex-end;justify-content:center;gap:10px;height:125px;opacity:.6}.organ-pipes i{height:100%;width:18px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,#4c302a,#f1c879,#7a512e);box-shadow:0 0 10px #000}.organ-pipes i:nth-child(2n){height:80%}.organ-pipes i:nth-child(3n){height:65%}.music-roll{position:absolute;left:26%;top:18px;width:48%;height:130px;overflow:hidden;border-top:10px solid #8d6444;border-bottom:10px solid #8d6444;box-shadow:0 0 0 3px #251521,0 8px 20px #000;background:#d9bd86;transform:perspective(500px) rotateX(10deg)}.roll-paper{position:absolute;inset:-100% 8px;background:repeating-linear-gradient(0deg,transparent 0 17px,#342234 18px 23px,transparent 24px 34px);mask-image:repeating-linear-gradient(90deg,transparent 0 8px,#000 8px 13px,transparent 13px 20px);animation:score-roll 4s linear infinite}.roll-scan{position:absolute;top:65%;left:0;right:0;height:3px;background:#ffe6a1;box-shadow:0 0 15px 5px #ffcc7777}.machine-gears{position:absolute;bottom:-10px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:65px;line-height:1;color:#bc8d55}.machine-gears span{animation:gear-turn 9s linear infinite}.machine-gears span+span{animation-direction:reverse}.emerging-sleeve{position:absolute;width:60px;height:45px;bottom:0;left:calc(50% - 30px);background:linear-gradient(140deg,#6a3f5b,#1a1420);border:1px solid #e6bd75;display:grid;place-items:center;font-size:30px;box-shadow:0 0 20px #edc77955;animation:sleeve-glow 3s ease-in-out infinite}.orchestrion-caption{font-size:12px;color:#d1bccf;line-height:1.5}.orchestrion-stage,#orchestrion-stage{font-size:14px;min-height:34px}.orchestrion-lights{display:flex;justify-content:center;gap:10px;margin:12px}.orchestrion-lights i{width:6px;height:6px;background:#eac278;border-radius:100%;animation:sleeve-glow 1.5s infinite}.orchestrion-lights i:nth-child(2){animation-delay:.3s}.orchestrion-lights i:nth-child(3){animation-delay:.6s}#orchestrion-hide{font-size:11px;padding:7px 10px}@keyframes score-roll{to{transform:translateY(34px)}}@keyframes gear-turn{to{transform:rotate(360deg)}}@keyframes sleeve-glow{50%{opacity:.45;box-shadow:0 0 25px #edc77999}}
@media(max-width:600px){.artist-search{max-width:100%;width:100%;margin:0}.artist-search input{flex:1;width:auto}.orchestrion-frame{padding:10px 12px;border-radius:40px 40px 8px 8px}.orchestrion-machine{height:100px;transform:scale(.7);transform-origin:top center;margin-bottom:-20px}.orchestrion-caption{display:none}.orchestrion h2{margin:4px}.orchestrion .eyebrow{font-size:8px}#orchestrion-stage{font-size:11px;min-height:24px;margin:8px 0}.orchestrion-lights{margin:6px}}
@media(prefers-reduced-motion:reduce){.orchestrion *{animation:none!important}}
.game-heading{height:auto;min-height:34px}.artist-search{position:relative;z-index:7}.hangman.lost>.game-heading{pointer-events:auto}.hangman.lost .artist-search{background:#241b28;border-radius:7px}.hangman.lost .game-loss{padding-top:50px}

.slide-countdown.countdown-alarm{border-color:var(--gold);animation:countdown-alarm 1s ease-in-out infinite}
@keyframes countdown-alarm{0%,100%{background:#171019ed;color:var(--gold);box-shadow:0 0 0 #ebc17d00}50%{background:#ebc17d;color:#28182d;box-shadow:0 0 18px #ebc17d80}}
@media(prefers-reduced-motion:reduce){.slide-countdown.countdown-alarm{animation:none;background:#ebc17d;color:#28182d}}

.game-help-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0}.game-help-row .game-help{margin:0}.keyboard-choice{display:inline-flex;align-items:center;gap:5px;color:var(--gold)}.keyboard-choice svg{width:20px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.keyboard-choice select{font:600 10px inherit;font-size:10px;color:var(--gold);background:#281c2c;border:1px solid #675167;border-radius:5px;padding:3px 4px;cursor:pointer;max-width:85px}.keyboard-choice select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.letters.keyboard-physical{grid-template-columns:repeat(20,minmax(0,1fr));gap:4px}

.credit-dialog{position:fixed;box-sizing:border-box;width:min(92vw,520px);max-height:90dvh;overflow:auto;padding:36px;border:1px solid #edc779;border-radius:20px;background:radial-gradient(ellipse at top,#53314c,#211626 75%);color:#fff1d2;text-align:center;box-shadow:0 0 70px #edc77933}.credit-dialog::backdrop{background:#100a16bb;backdrop-filter:blur(5px)}.credit-dialog h2{font:700 clamp(26px,4vw,38px)/1.15 Georgia,serif;color:#edc779;margin:12px 0}.credit-dialog p{line-height:1.5}.credit-close{position:absolute;right:10px;top:10px}.credit-coin{font-size:55px;color:#edc779}.credit-dialog label{display:block;text-align:left;font-size:13px;margin:14px 0}.credit-dialog input,.credit-dialog textarea{display:block;box-sizing:border-box;width:100%;margin-top:6px;background:#211626;border:1px solid #74566f;border-radius:7px;color:#fff1d2;padding:10px;font:inherit}.credit-dialog small{display:block;margin-top:18px;color:#c9b7ca}.credit-dialog [hidden]{display:none}

/* Accès discret à la console administrateur. */
.header-links{display:flex;align-items:center;gap:24px}.admin-entry{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 4px;color:var(--muted);font-size:12px;text-decoration:none;border-radius:5px}.admin-entry svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.admin-entry:hover,.admin-entry:focus-visible{color:var(--gold);background:#ebc17d0a}.header-links .contact{display:inline-flex;align-items:center;min-height:44px}@media(max-width:480px){.header-links{gap:10px}.admin-entry{font-size:11px;gap:5px}.header-links .contact{font-size:11px}.header-links .contact span{margin-left:5px}.masthead .brand{font-size:13px;padding-right:28px}.masthead .brand span{font-size:15px}.masthead .brand b{font-size:30px}}
/* Présence des joueurs et récompenses du quiz. */
.quiz-players{width:100%;min-height:0;border-top:1px solid var(--line);padding-top:10px;text-align:left}.quiz-players h3{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;color:var(--gold)}.online-dot{width:6px;height:6px;flex:none;background:var(--gold);border-radius:50%;box-shadow:0 0 6px #ebc17d66}.quiz-prize{font-size:10px;color:var(--muted);margin:3px 0 7px}.quiz-nickname{display:flex;gap:4px}.quiz-nickname input{min-width:0;width:100%;border:1px solid var(--line);border-radius:5px;padding:6px;background:var(--bg);color:var(--paper);font:11px system-ui}.quiz-nickname button{min-height:30px;padding:4px 7px;font-size:12px;color:var(--gold)}#quiz-live-self,.quiz-live-status{font-size:10px;color:var(--muted);margin:5px 0;line-height:1.3}#quiz-players-list{list-style:none;margin:5px 0;padding:0;max-height:210px;overflow:auto;scrollbar-width:thin}#quiz-players-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #51405266;padding:3px 0;font-size:11px}#quiz-players-list li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#quiz-players-list b{flex:none;font-size:10px;color:var(--gold)}.quiz-reward{color:var(--gold);font-size:13px;font-weight:700;margin:5px 0}.pendu-panel .gallows{flex-shrink:1}.pendu-panel .quiz-players{flex:none}@media(min-width:900px) and (min-height:600px){.pendu-panel .gallows{max-height:155px;min-height:45px}.quiz-players{padding-top:6px}#quiz-players-list{max-height:125px}}@media(min-width:900px) and (max-height:800px){#quiz-players-list{max-height:64px}.quiz-nickname input{padding:3px}.quiz-prize{margin:2px 0 4px}.quiz-players h3{font-size:10px}.pendu-panel .gallows{max-height:80px;min-height:35px}}
.artist-price{font-size:10px;color:var(--muted);margin:3px 0}.quiz-wallet{border:1px solid var(--line);border-radius:6px;padding:5px 7px;margin:6px 0;background:#211726}.quiz-wallet p{font-size:10px;line-height:1.3;margin:0}.quiz-wallet.ready{border-color:var(--gold);color:var(--gold)}#quiz-wallet-ready{margin-top:4px;font-weight:700}.wallet-bing{animation:wallet-bing 1.1s ease-out 2}@keyframes wallet-bing{45%{box-shadow:0 0 18px #ebc17d88;background:#4b3644}}@media(prefers-reduced-motion:reduce){.wallet-bing{animation:none;box-shadow:0 0 10px #ebc17d66}}
.live-screen-link{display:flex;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;min-height:46px;border-top:1px solid var(--line);color:var(--paper)}.live-screen-link>svg{width:23px;height:23px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.live-screen-link>div{min-width:0;flex:1}.session-live .live-screen-link h2{padding:0;font-size:11px;margin:0;max-height:none;overflow:visible}.live-screen-link small{display:block;font-size:10px;color:var(--gold);margin-top:3px}.live-screen-link:hover{background:#ebc17d12}.live-screen-dot{width:6px;height:6px;border-radius:50%;background:#ebc17d;box-shadow:0 0 7px #ebc17daa;flex:none}
.live-track-meta{display:grid;gap:2px;padding:8px 10px;border-top:1px solid var(--line);background:linear-gradient(180deg,#1c1420,#211727);min-width:0}.live-track-meta[hidden]{display:none!important}.live-track-meta>strong,.live-track-meta>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-track-meta>strong{font-size:12px;line-height:1.2;color:var(--paper)}.live-track-meta>span{font-size:11px;color:#eadfda}.live-track-meta>div{display:flex;flex-wrap:wrap;gap:3px 8px;margin-top:3px}.live-track-meta small{font-size:8px;line-height:1.2;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}

.quiz-hints{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto}.quiz-hints button{font-size:11px;padding:6px 8px;border:1px solid #715575;border-radius:7px;background:#302137;color:#edc68c;cursor:pointer}.quiz-hints button:disabled{opacity:.5}.quiz-hint-text{color:#f4d59d;font-size:13px;margin:8px 0;padding:8px 10px;border-left:2px solid #edc68c;background:#332139}.game-heading{flex-wrap:wrap}

/* Commandes lumineuses du carrousel */
.controls button{--lamp:#edc68c;--lamp-dark:#563b26;--lamp-mid:#88633b;position:relative;border:1px solid var(--lamp);border-bottom-width:3px;background:linear-gradient(180deg,#ffffff28,transparent 48%),linear-gradient(var(--lamp-mid),var(--lamp-dark));color:#fff9eb;text-shadow:0 1px 2px #0009;box-shadow:inset 0 1px 2px #fff6,0 0 10px color-mix(in srgb,var(--lamp) 25%,transparent),0 3px 0 #120b17;transition:box-shadow .18s,filter .18s,transform .1s}
.controls #pause{--lamp:#ef9a9f;--lamp-dark:#69293d;--lamp-mid:#984653;min-width:110px}
.controls #pause[aria-pressed=true]{--lamp:#9be5bd;--lamp-dark:#215641;--lamp-mid:#377f5d}
.controls #pause::before{content:'Ⅱ';margin-right:7px;color:var(--lamp);text-shadow:0 0 7px var(--lamp)}
.controls #pause[aria-pressed=true]::before{content:'▶'}
.controls button:hover{filter:brightness(1.15);box-shadow:inset 0 1px 3px #fff8,0 0 16px color-mix(in srgb,var(--lamp) 45%,transparent),0 3px 0 #120b17}
.controls button:active{transform:translateY(2px);box-shadow:inset 0 2px 5px #0006,0 0 12px color-mix(in srgb,var(--lamp) 35%,transparent)}
@media(prefers-reduced-motion:reduce){.controls button{transition:none}}

#live-session-video{position:absolute;inset:0;background:#100c12}#live-session-video .player-host,#live-session-video iframe{width:100%;height:100%;border:0}#live-session-video .video-controls{display:none}#live-session-video>button{position:absolute;inset:0;font-size:11px;padding:4px;min-height:0}#live-session-video .playback-message{position:absolute;bottom:0;left:0;right:0;margin:0;padding:3px;background:#171019df;font-size:9px;pointer-events:none}#live-session-video .playback-message:empty{display:none}.live-preview{position:relative}

.sleeve .cover-controls{position:absolute;left:50%;bottom:clamp(48px,8%,80px);transform:translateX(-50%);z-index:2;width:max-content;max-width:calc(100% - 24px);height:auto;padding:7px 9px;border:1px solid #edc68c55;border-radius:13px;background:#1b1124bf;backdrop-filter:blur(8px);box-shadow:0 4px 18px #0007}.cover-controls>div{gap:8px}.cover-controls button{min-height:38px;padding:8px 13px}.cover-controls #pause{min-width:110px}.cover-label{pointer-events:none}@media(max-width:760px){.sleeve .cover-controls{bottom:36px;padding:5px 7px}.cover-controls>div{gap:6px}.cover-controls button{min-height:40px;padding:7px 11px}}

#live-sound-controls{display:flex;padding:7px 9px;background:#261b2e;border-top:1px solid #514052}#live-sound-controls button{width:100%;min-height:38px;padding:8px;font-size:12px;border:1px solid #ebc17d88;color:#f9e5bd;background:#39283c}#live-sound-controls button::before{content:'♫ ';color:#ebc17d}#live-sound-controls button[aria-pressed=true]{background:#27583f;border-color:#9be5bd;color:#e9fff1}#live-sound-controls button:disabled{opacity:.55;cursor:wait}#live-session-video .record-transition{display:none}

/* Pendu sur la pochette et colonne communautaire, septembre 2026. */
.quiz-layout{grid-template-columns:minmax(0,1fr) clamp(290px,27vw,360px);align-items:start}
.quiz-sidebar{height:auto;gap:12px}
.sleeve .pendu-panel{position:absolute;right:16px;top:58px;z-index:1;width:clamp(85px,12vw,155px);min-height:0;padding:12px 10px;pointer-events:none;background:linear-gradient(135deg,#21162699,#21162622);border:1px solid #ebc17d30;box-shadow:0 4px 18px #0002;backdrop-filter:blur(2px)}
.sleeve .pendu-panel h2{font-size:9px;text-shadow:0 1px 3px #000;margin:0 0 8px}
.sleeve .pendu-panel .gallows{width:100%;height:auto;max-height:165px;min-height:0;flex:none;stroke:#ffda92;filter:drop-shadow(0 1px 2px #000)}
.quiz-sidebar>.session-live{order:0;width:100%}
.quiz-sidebar>.quiz-wallet{order:1;margin:0;padding:16px;border-radius:12px;background:linear-gradient(125deg,#3b293b,#241b28)}
.quiz-wallet h3{font-size:14px;margin:0 0 9px;color:var(--gold)}
.quiz-sidebar .quiz-wallet p{font-size:13px;line-height:1.5}
#wallet-more{width:100%;margin-top:12px;min-height:40px;padding:8px 12px;color:var(--gold);font-size:12px}
.quiz-sidebar>.quiz-players{order:2;border:1px solid var(--line);border-radius:12px;background:#241b28;padding:16px}
.quiz-sidebar .quiz-players h3{font-size:14px}.quiz-sidebar .quiz-prize{font-size:12px;margin:5px 0 12px}
.quiz-sidebar .quiz-nickname input{font-size:12px;padding:9px}.quiz-sidebar .quiz-nickname button{min-height:38px;padding:8px 12px}
.quiz-sidebar #quiz-live-self,.quiz-sidebar .quiz-live-status{font-size:11px;margin:9px 0}
.quiz-sidebar #quiz-players-list{max-height:240px}.quiz-sidebar #quiz-players-list li{font-size:12px;padding:7px 0}
.quiz-sidebar>.quiz-howto{order:3;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#241b28;font-size:12px;color:var(--muted)}
.quiz-howto summary{cursor:pointer;color:var(--gold);font-weight:700;min-height:24px}.quiz-howto ul{padding-left:18px}.quiz-howto li{margin:8px 0}
.quiz-sidebar>.scan-card{order:4;min-height:180px}
.quiz-sidebar .session-live .live-preview{width:100%;height:auto;max-height:none;aspect-ratio:16/9;min-width:0}
.quiz-sidebar .live-badge{padding:10px 12px;font-size:11px}.quiz-sidebar .live-screen-link{padding:12px}.quiz-sidebar .session-live .live-screen-link h2{font-size:13px}
@media(min-width:900px) and (min-height:600px){.quiz-layout{height:auto;min-height:calc(100svh - 240px);grid-template-columns:minmax(0,1fr) clamp(290px,27vw,360px)}.puzzle-column{grid-template-rows:minmax(320px,calc(100svh - 475px)) auto}.quiz-sidebar{height:auto}.game-heading{height:auto}.game-heading>div{flex-wrap:wrap}.quiz-sidebar .scan-card{min-height:180px}}
@media(max-width:899px){.quiz-layout{grid-template-columns:minmax(0,1fr)}.quiz-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.quiz-sidebar>.session-live{grid-column:1/-1}.quiz-sidebar .session-live .live-preview{max-height:none}.sleeve .pendu-panel{width:90px;top:52px;right:10px;padding:8px}.sleeve .pendu-panel .gallows{max-height:105px}}
@media(max-width:480px){.quiz-sidebar{grid-template-columns:1fr}.sleeve .pendu-panel{width:65px;top:48px;right:8px;padding:6px}.sleeve .pendu-panel h2{font-size:7px;margin-bottom:4px}.sleeve .pendu-panel .gallows{max-height:72px}}
@media(min-width:900px){.puzzle-column{grid-template-rows:auto auto}.puzzle-column .sleeve{height:auto;aspect-ratio:16/9}.puzzle-column .sleeve>img{width:100%;height:100%;object-fit:contain}.sleeve .cover-controls{bottom:38px}}

/* Laisser les cartes grandir : aucune hauteur de fenêtre ne doit les comprimer. */
#quiz .quiz-layout{height:auto;max-height:none;align-items:start}
#quiz .quiz-sidebar{height:auto;max-height:none;min-height:0;align-self:start}
#quiz .quiz-sidebar>*{flex:0 0 auto;max-height:none;min-width:0}
#quiz .quiz-sidebar>.scan-card{display:grid;min-height:0;height:auto;padding:0;overflow:hidden}
#quiz .scan-card .scan-lock,#quiz .scan-card .scan-content{grid-area:1/1;position:relative;inset:auto;padding:16px;min-height:180px}
#quiz .scan-card:not(.unlocked) .scan-content{display:none}
#quiz .scan-card.unlocked .scan-lock{display:none}
@media(min-width:900px) and (max-height:850px){
 #quiz .quiz-sidebar{gap:10px}
 #quiz .quiz-sidebar>.quiz-wallet,#quiz .quiz-sidebar>.quiz-players{padding:12px}
 #quiz .quiz-wallet h3{margin-bottom:5px}
 #quiz #wallet-more{margin-top:8px}
 #quiz .quiz-sidebar #quiz-players-list{max-height:150px}
 #quiz .quiz-sidebar>.quiz-howto{padding:10px 12px}
 #quiz .scan-card .scan-lock,#quiz .scan-card .scan-content{min-height:150px;padding:12px}
 #quiz .scan-lock{gap:8px}
 #quiz .scan-lock svg{width:35px;height:40px}
 #quiz .scan-lock strong{font-size:18px}
}

.give-up-row{display:flex;justify-content:flex-end;margin-top:10px}
#quiz-give-up{font-size:12px;padding:9px 12px;min-height:40px}
#quiz-give-up[hidden]{display:none}

#quiz .quiz-sidebar>.sidebar-fold{padding:0;background:#241b28;border:1px solid var(--line);border-radius:12px}
.sidebar-fold>summary{cursor:pointer;padding:14px 16px;min-height:48px;color:var(--gold);font-size:12px;font-weight:700;line-height:20px}
.sidebar-fold>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:10px}
.sidebar-fold[open]>summary{border-bottom:1px solid var(--line);margin-bottom:12px}
#quiz .sidebar-fold>p,#quiz .sidebar-fold>label,#quiz .sidebar-fold>ol{margin-left:16px;margin-right:16px}
#quiz .sidebar-fold>#wallet-more{width:calc(100% - 32px);margin:8px 16px 12px}
#quiz .sidebar-fold>:last-child:not(summary){margin-bottom:14px}

/* Two related spaces: solve the picture, feed the jukebox. */
#quiz .quiz-layout{gap:24px}
#quiz .puzzle-column{display:flex;flex-direction:column;gap:14px;min-width:0}
#quiz .puzzle-column>.intro{margin:0;padding:0}
#quiz .puzzle-column>.sleeve{width:100%;aspect-ratio:16/9;min-height:0;height:auto;flex:none}
#quiz .quiz-sidebar{padding:16px;border:1px solid #70577b;border-radius:16px;background:linear-gradient(160deg,#322439,#1f1727);gap:12px}
#quiz .quiz-sidebar>.jukebox-heading{order:-1;grid-column:1/-1;padding:0 0 4px}
.jukebox-heading h2{font:700 22px/1.2 Georgia,serif;color:var(--gold);margin:6px 0 8px}
.jukebox-heading>p:last-child{font-size:12px;line-height:1.5;color:var(--muted);margin:0}
.game-extras{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,1fr);gap:14px;align-items:start}
.game-extras>.quiz-howto{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#241b28;font-size:12px;color:var(--muted)}
#quiz .game-extras>.scan-card{display:grid;height:auto;min-height:0;padding:0;overflow:hidden;border-radius:12px}
.game-extras .scan-lock{padding:18px}
.game-extras .scan-lock svg{width:35px;height:40px}
.game-extras .scan-lock strong{font-size:18px}
@media(max-width:600px){.game-extras{grid-template-columns:1fr}#quiz .quiz-sidebar{padding:12px}}

.game-welcome{position:relative;isolation:isolate;display:grid;place-items:center;min-height:280px;padding:22px;border:1px solid var(--line);border-radius:12px;background:#281d30;overflow:hidden}
.game-welcome:after{content:'';position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 50% 48%,#281d30d6 0 22%,#211725a8 58%,#171019c7 100%);pointer-events:none}
.game-welcome-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:min(620px,88%);margin:auto}
.game-welcome h2{font:700 clamp(26px,3vw,36px)/1.2 Georgia,serif;color:var(--gold);margin:0 0 12px;text-shadow:0 2px 12px #000}
.game-welcome p{max-width:62ch;font-size:14px;line-height:1.6;margin:0 0 12px;text-shadow:0 1px 8px #000}
.game-welcome .game-welcome-reward{color:var(--muted);font-size:13px}
.game-welcome button{margin-top:8px;min-width:180px;min-height:52px;font-size:18px;font-weight:900;letter-spacing:.12em;box-shadow:0 8px 24px #0008,0 0 0 1px #ffe2a655}
.game-welcome-keyboard{position:absolute;z-index:0;left:3%;right:3%;bottom:12px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;filter:blur(.45px) brightness(.82) saturate(.8);opacity:.58;transform:perspective(620px) rotateX(13deg);transform-origin:bottom center;pointer-events:none}
.game-welcome-keyboard span{display:grid;place-items:center;min-height:52px;border:1px solid #8b728d;border-radius:8px;background:linear-gradient(#49384e,#2c2231);color:#e8dfe8;font:700 14px/1 system-ui;box-shadow:inset 0 1px #fff2,0 4px 8px #0008}
#game-welcome[hidden],#hangman[hidden]{display:none!important}

/* The gallows joins the game only when the keyboard opens. */
#quiz .sleeve .pendu-panel[hidden]{display:none!important}
#quiz .sleeve .pendu-panel{top:auto;bottom:12px;right:12px;width:clamp(115px,15vw,190px);padding:12px;background:linear-gradient(180deg,#211625b3,#211625ed);border:1px solid #edc68c75;border-radius:12px;box-shadow:0 6px 24px #0006}
#quiz .sleeve .pendu-panel .gallows{width:100%;height:auto;max-height:195px;stroke:#ffda92;stroke-width:2.5}
#quiz .sleeve .pendu-panel h2{font-size:10px;margin-bottom:6px}
@media(max-width:600px){#quiz .sleeve .pendu-panel{width:82px;right:7px;bottom:7px;padding:6px}#quiz .sleeve .pendu-panel .gallows{max-height:85px}#quiz .sleeve .pendu-panel h2{font-size:7px;margin-bottom:3px}}

@media(min-width:900px){#quiz .quiz-sidebar{margin-top:var(--jukebox-top-offset,0px)}}
@media(max-width:899px){#quiz .quiz-sidebar{margin-top:0}}

.mobile-sections{display:none}
@media(max-width:700px){
 html{scroll-padding-top:68px}body{overflow-x:clip}.masthead,main,footer{width:calc(100% - 24px)}.masthead{padding:16px 0;gap:14px}.header-links{gap:12px}.header-links a{min-height:44px;display:inline-flex;align-items:center}.contact{font-size:12px}.brand{font-size:13px}.brand span{font-size:15px}
 .mobile-sections{display:flex;position:sticky;top:0;z-index:30;background:#171019f5;border-bottom:1px solid var(--line);padding:8px 12px;gap:10px}.mobile-sections a{display:flex;align-items:center;justify-content:center;min-height:44px;flex:1;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-weight:700;color:var(--gold)}
 #quiz .quiz-layout{display:flex;flex-direction:column;gap:20px;height:auto}#quiz .puzzle-column,#quiz .quiz-sidebar{width:100%;min-width:0}#quiz .intro{height:auto;padding:20px 0 4px}#quiz .intro h1{font-size:clamp(28px,8vw,38px);margin:8px 0 12px}#quiz .intro>p:last-child{font-size:14px}#quiz .sleeve{width:100%;aspect-ratio:16/9;height:auto}#quiz .sleeve>img{width:100%;height:100%;object-fit:contain}.cover-controls{bottom:26px!important}.cover-controls button{min-height:44px;min-width:44px;padding:8px 12px}
 #quiz .hangman{padding:14px;margin:0}.game-heading{display:flex;flex-direction:column;align-items:stretch;height:auto;gap:12px}.game-heading>div{min-width:0}.game-heading h2{font-size:24px}.game-heading .quiz-hints{display:flex;gap:8px}.quiz-hints button{flex:1;min-height:44px;padding:8px;font-size:12px}#artist-search{width:100%}#artist-search input,input,select,textarea{font-size:16px!important}#artist-search button{min-width:44px;min-height:44px}.letters,.letters.keyboard-physical{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px}.letters button{grid-column:auto!important;grid-row:auto!important;min-height:44px;padding:8px 0;font-size:15px}.riddle-row{margin:16px 0}.game-help{font-size:13px}.quiz-sidebar summary{min-height:44px;padding:12px}.quiz-nickname input,.quiz-nickname button{min-height:44px}.live-screen-link{min-height:60px}#live-sound-controls button{min-height:44px!important;font-size:14px!important}.game-welcome{padding:18px}.game-welcome button{width:100%;min-height:48px}.scan .qr-wrap,.scan canvas{display:none}.orchestrion{overflow:auto}.orchestrion-frame{padding:12px}.orchestrion-machine,.orchestrion-caption,.orchestrion-lights{display:none}.orchestrion h2{font-size:24px;margin:4px}.orchestrion #orchestrion-hide{min-height:44px}.orchestrion-frame p{margin:6px}.game-extras{grid-template-columns:1fr}
}

@media(max-width:700px){.letters,.letters.keyboard-physical{grid-template-columns:repeat(6,minmax(0,1fr))!important}.game-heading .quiz-hints{width:100%;justify-content:stretch}.quiz-hints button{white-space:nowrap;padding:8px 4px;font-size:11px}}@media(max-width:360px){.letters,.letters.keyboard-physical{grid-template-columns:repeat(5,minmax(0,1fr))!important}}

/* One short penalty pulse per new mistake, confined to the gallows. */
#quiz .sleeve .pendu-panel.is-penalty{animation:hangman-penalty .8s ease-out both}
#hangman-parts .penalty-part{stroke:#ff5266;filter:drop-shadow(0 0 4px #ff304f)}
@keyframes hangman-penalty{0%{border-color:#ff5266;background:#651c32;box-shadow:0 0 0 3px #ff526680,0 0 32px #ff304f99}18%{border-color:#ff9ca8;background:#982940;box-shadow:0 0 0 4px #ff526660,0 0 40px #ff304fa0}100%{border-color:#edc68c75;background:#211625ed;box-shadow:0 6px 24px #0006}}
@media(prefers-reduced-motion:reduce){#quiz .sleeve .pendu-panel.is-penalty{animation:none;border-color:#ff5266;background:#551c2c;box-shadow:0 0 0 3px #ff526650}}

/* Loss choices belong together, in normal flow so the revealed content fits. */
#quiz .hangman.lost>:not(.game-loss){display:none!important}
#quiz .hangman.lost{padding:0;overflow:hidden}
#quiz .hangman.lost .game-loss{position:relative;inset:auto;display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,1fr);gap:20px;padding:22px;border:0;backdrop-filter:none}
#quiz .game-loss[hidden]{display:none!important}
.loss-message{display:flex;flex-direction:column;align-items:center;gap:12px}
#quiz .game-loss .scan-card{display:grid;min-width:0;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;animation:none;perspective:none}
#quiz .game-loss .scan-content{position:relative;min-height:0;padding:0;transform:none;transition:none}
#quiz .game-loss .scan-lock{display:none}
#quiz .game-loss .scan-content h2{font-size:24px;margin:5px 0 12px}
#quiz .game-loss .scan-content canvas{width:120px;height:120px;margin:0 auto 10px}
#quiz .game-loss .scan-content p{font-size:12px;margin:8px 0}
.game-extras.after-loss{grid-template-columns:1fr}
@media(max-width:600px){#quiz .hangman.lost .game-loss{grid-template-columns:1fr;gap:18px;padding:20px 14px}.loss-message{gap:8px}#quiz .game-loss .scan-card{border-top:1px solid var(--line);padding-top:16px}}

/* Session-only invitations stay absent until an active session is confirmed. */
body.no-live-session [data-jukebox-only]{display:none!important}

/* Answer lock belongs at the top of the right column. */
#quiz .quiz-sidebar{margin-top:0}
#quiz .quiz-sidebar>.scan-card{order:-2;grid-column:1/-1;width:100%}
#quiz .game-extras{grid-template-columns:1fr}
#quiz-unlock{width:100%;min-height:46px;margin-top:8px}
#quiz-unlock-status:empty{display:none}
#quiz .scan-card #quiz-unlock-status{margin:4px 0;color:var(--gold)}

/* Brass mechanical token counter: live numerals stay text and screen-reader accessible. */
#quiz-wallet .token-meter{position:relative;margin:16px 12px 14px;padding:12px 14px 10px;border:1px solid #bca06c;border-radius:12px;background:linear-gradient(115deg,#574329,#ddc48b 4%,#80653d 9%,#34271c 48%,#9d8050 92%,#e2c68a 97%,#594329);box-shadow:0 5px 0 #130f0c,0 8px 12px #0009,inset 0 1px 1px #fff8,inset 0 -2px 3px #000b;text-align:center}
#quiz-wallet .token-meter:before,#quiz-wallet .token-meter:after{content:'−';position:absolute;top:9px;color:#21170f;font:bold 11px/10px monospace;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#e4ca92,#735632);box-shadow:0 1px 2px #000,inset 0 1px #fff7}
#quiz-wallet .token-meter:before{left:5px}#quiz-wallet .token-meter:after{right:5px}
#quiz-wallet .token-meter-plate{display:block;font:700 9px/1.4 system-ui;text-transform:uppercase;letter-spacing:.2em;color:#ffedbe;text-shadow:0 1px 2px #000;margin-bottom:9px}
#quiz-wallet .token-meter-window{position:relative;display:grid;grid-template-columns:repeat(var(--digits,4),minmax(0,1fr));gap:3px;margin:0;padding:6px;border:2px solid #120e0a;border-radius:5px;background:#080909;box-shadow:0 1px 1px #eed09e,inset 0 3px 8px #000;overflow:hidden;isolation:isolate}
#quiz-wallet .token-meter-window:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(155deg,#ffffff19,transparent 45%,#0002);box-shadow:inset 0 5px 8px #0009,inset 0 -4px 6px #0007;z-index:2}
#quiz-wallet .token-meter-digit{position:relative;display:grid;place-items:center;min-width:0;height:55px;border-radius:3px;background:linear-gradient(#10100f,#31312a 44%,#0a0a09 49%,#070707 51%,#292923 55%,#10100e);box-shadow:inset 1px 0 #ffffff14,1px 0 2px #000;color:#fff0c8;font:700 clamp(26px,3vw,39px)/1 monospace;text-shadow:0 2px 2px #000,0 0 6px #ffe5a42b;font-variant-numeric:tabular-nums;overflow:hidden}
#quiz-wallet .token-meter-digit:after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#0009;box-shadow:0 1px #fff1}
#quiz-wallet .token-meter-unit{display:block;margin-top:8px;color:#ead1a0;font:700 8px/1.4 system-ui;letter-spacing:.18em;text-shadow:0 1px #000}
#quiz-wallet #token-meter-price{margin:5px 0 0;color:#fff1d4;font:11px/1.4 system-ui;text-shadow:0 1px #000}
.token-meter-loading{grid-column:1/-1;color:#ead1a0;padding:15px 0}
.digit-changed>span{animation:token-roll .38s ease-out both}@keyframes token-roll{from{transform:translateY(-85%);filter:blur(2px);opacity:.3}to{transform:translateY(0);filter:blur(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.digit-changed>span{animation:none}}

/* A single red pulse marks a debit without repeated flashing. */
#quiz-wallet .token-meter-window.token-debit{animation:token-debit-frame .65s ease-out}
#quiz-wallet .token-debit .token-meter-digit{animation:token-debit-digit .65s ease-out}
@keyframes token-debit-frame{0%,22%{background:#941e22;border-color:#ff7970;box-shadow:0 0 18px #e93c3c99,inset 0 0 16px #f33a}100%{background:#080909;border-color:#120e0a}}
@keyframes token-debit-digit{0%,22%{color:#ffada0;text-shadow:0 0 12px #ff3e32;box-shadow:inset 0 0 16px #e42c2c88}100%{color:#fff0c8}}
@media(prefers-reduced-motion:reduce){#quiz-wallet .token-meter-window.token-debit,#quiz-wallet .token-debit .token-meter-digit{animation-duration:1ms}}

/* Inset amber message screen, matching the brass token counter. */
#quiz .game-display{min-width:0;margin:14px 0 12px;padding:7px 10px 10px;border:1px solid #bda36e;border-radius:10px;background:linear-gradient(120deg,#604b2d,#d6bc81 3%,#7d633c 9%,#3b2e1e 53%,#a78b57 95%,#ead29a);box-shadow:0 4px 0 #100d0b,0 6px 10px #0007,inset 0 1px #fff7}
.game-display-bezel{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:1px 5px 6px;color:#ffedc5;font:700 8px/1.3 system-ui;letter-spacing:.2em;text-shadow:0 1px 2px #000}
.display-led{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#ffcd6a;box-shadow:0 0 5px #ffb638}
#quiz .game-display-glass{position:relative;isolation:isolate;min-width:0;min-height:78px;padding:12px 15px;background:radial-gradient(ellipse at 50% 0,#46321c55,transparent 80%),#0d100f;border:2px solid #17120b;border-radius:5px;box-shadow:0 1px #ead39a,inset 0 3px 9px #000;overflow-wrap:anywhere}
.game-display-glass:after{content:'';position:absolute;inset:0;border-radius:3px;pointer-events:none;z-index:1;background:linear-gradient(155deg,#ffffff0d,transparent 44%),repeating-linear-gradient(0deg,transparent 0 3px,#0002 3px 4px);box-shadow:inset 0 0 8px #0009}
#quiz .game-display-glass p{font:500 12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.025em;color:#ffc978;text-shadow:0 0 6px #ff9b2440;margin:3px 0;padding:0;background:none;border:0}
#quiz .game-display-glass .artist-price{font-size:10px;color:#c8a575;padding-bottom:5px;margin-bottom:6px;border-bottom:1px solid #b38c4333}
#quiz .game-display-glass #artist-search-result:not(:empty),#quiz .game-display-glass #quiz-hint-text{font-weight:700;color:#ffe2a6}
#quiz .game-display-glass #quiz-reward{color:#cdeca4;font-weight:700}
#quiz .game-display-glass #game-status{color:#ffd898}
#quiz .game-display-glass .game-help{font-size:11px;color:#c1ab85}
#quiz .game-display-glass p:empty{display:none}
#quiz .game-display:has(#artist-search-result:not(:empty)) .display-led{background:#ff994e;box-shadow:0 0 7px #ff8e3b}
#quiz .game-help-row{justify-content:flex-end}
@media(max-width:600px){#quiz .game-display{padding:6px 7px 8px}#quiz .game-display-glass{padding:10px}.game-display-bezel{font-size:7px}}
/* Stable game cabinet on desktop; compact full-screen composition on landscape displays. */
@media(min-width:1100px){
 #quiz .hangman,#quiz .game-welcome{height:390px;box-sizing:border-box;overflow:auto;scrollbar-width:thin;scrollbar-color:#ae8d57 #211827}
}
@media(min-width:1100px) and (min-aspect-ratio:7/5) and (min-height:650px){
 .masthead,main,footer{width:calc(100% - 40px);max-width:1600px}
 .masthead{height:46px;padding:8px 0}.brand{font-size:12px}.brand span{font-size:14px}.brand b{font-size:28px}
 #quiz .quiz-layout{height:calc(100svh - 120px);min-height:0;gap:18px;grid-template-columns:minmax(0,1fr) clamp(270px,25vw,340px)}
 #quiz .puzzle-column{height:100%;min-height:0;display:grid;grid-template-rows:64px minmax(100px,1fr) clamp(280px,40svh,360px) 30px;gap:8px}
 #quiz .intro{padding:3px 0;margin:0;min-height:0}#quiz .intro .eyebrow{margin:0;font-size:8px}#quiz .intro h1{font-size:30px;margin:3px 0}#quiz .intro>p:last-child{font-size:11px;margin:0}
 #quiz .puzzle-column .sleeve{height:100%;min-height:0;aspect-ratio:auto;justify-content:center}#quiz .sleeve>img{height:100%;width:100%;object-fit:contain}
 #quiz .sleeve .pendu-panel{width:100px;padding:6px;right:8px;bottom:8px}#quiz .sleeve .pendu-panel .gallows{max-height:105px}
 #quiz .cover-controls{bottom:24px;padding:3px}#quiz .cover-controls button{min-height:32px;padding:5px 12px}#quiz .cover-label{padding:18px 12px 5px;font-size:8px}
 #quiz .hangman,#quiz .game-welcome{height:100%;min-height:0;margin:0;padding:10px 12px}
 #quiz .game-heading{display:flex;flex-wrap:wrap;gap:6px;align-items:center;height:auto}#quiz .game-heading>div:first-child{display:flex;align-items:center;gap:8px}#quiz .game-heading .eyebrow{font-size:8px;margin:0}#quiz .game-heading h2{font-size:19px;margin:0}
 #quiz #artist-search{margin:0 0 0 auto;max-width:240px}#quiz #artist-search input{padding:6px 8px;min-height:32px;font-size:12px}#quiz #artist-search button{min-height:32px;padding:5px 10px}
 #quiz .quiz-hints button{min-height:32px;padding:5px 8px;font-size:10px}
 #quiz .game-display{margin:7px 0 5px;padding:4px 6px 6px}#quiz .game-display-glass{height:74px;min-height:0;overflow:auto;padding:6px 10px}#quiz .game-display-bezel{padding-bottom:3px;font-size:7px}#quiz .game-display-glass p{font-size:10px;margin:1px 0;line-height:1.4}#quiz .game-display-glass .artist-price{font-size:9px;margin-bottom:2px;padding-bottom:2px}
 #quiz .game-help-row{margin:0;height:18px}#quiz .riddle-row{margin:5px 0;gap:10px}#quiz .word{font-size:16px;gap:3px}#quiz .word-group{gap:2px}#quiz .letter{min-width:10px}#quiz .clue-icon{font-size:17px}
 #quiz .letters{gap:4px}#quiz .letters button{min-height:29px;padding:4px 0;font-size:12px}#quiz .give-up-row{margin-top:5px}#quiz #quiz-give-up{min-height:28px;padding:5px 10px;font-size:10px}
 #quiz .game-extras{margin:0;min-height:0;position:relative}#quiz .quiz-howto{padding:5px 12px;font-size:11px}#quiz .quiz-howto[open]{position:absolute;bottom:0;left:0;right:0;z-index:5;max-height:280px;overflow:auto;box-shadow:0 -6px 20px #0007;background:#241b28}
 #quiz .quiz-sidebar{height:100%;max-height:100%;overflow:auto;margin-top:0;padding:10px;gap:8px;scrollbar-width:thin}
 #quiz .scan-card .scan-lock,#quiz .scan-card .scan-content{min-height:0;padding:10px}#quiz .scan-lock{gap:6px}#quiz .scan-lock svg{height:30px;width:28px}#quiz .scan-lock strong{font-size:19px}#quiz .scan-lock span{font-size:11px}#quiz #quiz-unlock{min-height:34px;padding:6px;font-size:11px}
 #quiz .scan canvas{width:90px!important;height:90px!important}#quiz .scan h2{font-size:21px;margin:4px 0}#quiz .scan p{margin:5px 0}#quiz .scan .button{min-height:32px;padding:5px;font-size:11px}
 #quiz .jukebox-heading h2{font-size:21px;margin:3px 0}#quiz .sidebar-fold>summary{padding:8px 12px;min-height:34px}#quiz-wallet .token-meter{margin:8px 10px;padding:8px 12px}#quiz-wallet .token-meter-digit{height:39px;font-size:30px}#quiz-wallet .token-meter-plate{margin-bottom:5px}#quiz-wallet-ready{font-size:11px;line-height:1.35}#quiz #wallet-more{min-height:32px;margin-top:6px;padding:5px}
 #quiz #count{margin:4px 0;font-size:9px}#quiz .steps{margin:0;padding:3px 0;font-size:9px}footer{padding:6px 0;font-size:9px}
}
@media(min-width:1100px) and (min-aspect-ratio:7/5) and (min-height:650px){
 #quiz .quiz-layout{height:calc(100svh - 154px)}
 #quiz .puzzle-column{grid-template-rows:64px minmax(100px,1fr) clamp(300px,42svh,380px) 30px}
}

/* Letter windows echo the inset brass token counter. */
#quiz .riddle-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:12px;align-items:stretch}
#quiz .riddle-row .title-clue,#quiz .riddle-row .artist-clue{min-width:0;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid #b99a64;border-radius:7px;background:linear-gradient(120deg,#745834,#dec68c 3%,#725b35 12%,#33271b 68%,#c8ad75);box-shadow:0 3px 0 #100d09,inset 0 1px #fff6}
#quiz .riddle-row .clue-icon{font-size:15px;flex:none;color:#ffe2a6;text-shadow:0 1px 2px #000}
#quiz .riddle-row .word{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:5px;min-width:0;flex:1;padding:6px 8px;margin:0;background:linear-gradient(#151611,#080a09 49%,#171911 51%,#0b0d0b);border:1px solid #080907;border-radius:3px;box-shadow:inset 0 2px 5px #000,0 1px #e6c78c77;color:#ffe4aa;text-shadow:0 0 5px #e9ad4a66;font:700 15px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em}
#quiz .riddle-row .word-group{display:inline-flex;gap:2px;flex-wrap:wrap;max-width:100%}
#quiz .riddle-row .letter{min-width:.62em;border-bottom:1px solid #a8854688;text-align:center}
@media(min-width:1100px) and (min-aspect-ratio:7/5) and (min-height:650px){#quiz .riddle-row{gap:8px;margin:4px 0 7px}#quiz .riddle-row .title-clue,#quiz .riddle-row .artist-clue{padding:3px 5px;gap:4px}#quiz .riddle-row .word{font-size:12px;padding:3px 5px;gap:4px}#quiz .game-display-glass{height:65px}}
@media(max-width:600px){#quiz .riddle-row{grid-template-columns:1fr;gap:8px}#quiz .riddle-row .word{font-size:14px}}

#quiz .game-display-glass #game-status.last-chance{color:#ff8b82;font-weight:800;text-shadow:0 0 7px #ef3c3c66}
#quiz .game-display-glass #game-status.last-chance:before{content:'⚠ ';}
/* Let the keys occupy the remaining height of the fixed desktop cabinet. */
@media(min-width:1100px){
 #quiz .hangman{display:flex;flex-direction:column}
 #quiz .hangman>*{flex-shrink:0}
 #quiz .hangman>.letters{flex:1 0 auto;grid-auto-rows:1fr;align-content:stretch;align-items:stretch;margin-top:5px;min-height:70px}
 #quiz .hangman>.letters.keyboard-physical{min-height:95px}
 #quiz .hangman>.letters button{height:100%;align-self:stretch;display:grid;place-items:center}
}

@media(min-width:1100px) and (min-aspect-ratio:7/5) and (min-height:650px){#quiz .riddle-row{margin-bottom:3px}}

#quiz .letters.is-off button{background:#29272b;color:#77747a;border-color:#49454b;box-shadow:inset 0 2px 4px #0006;opacity:.65;text-shadow:none;cursor:default}

/* Standalone token reserve beside the game controls. */
#quiz .quiz-sidebar>#quiz-wallet{order:5;padding:0;border:0;background:none;box-shadow:none;width:100%}
#quiz-wallet .token-meter{margin:0 0 16px}
#quiz-wallet #quiz-wallet-ready{margin:12px 4px;line-height:1.5}
#quiz-wallet #wallet-more{width:100%;margin:8px 0 0}
#quiz-wallet>.quiz-send-sidebar{position:relative;margin:18px 0 0;padding:16px 13px 13px;border:1px solid #bca06c;border-radius:12px;background:linear-gradient(125deg,#4b3824,#d7bd83 3%,#6d5232 8%,#241b1e 42%,#34242c 82%,#a98a56 96%,#e1c58b);box-shadow:0 5px 0 #130f0c,0 8px 14px #0008,inset 0 1px 1px #fff7,inset 0 -2px 3px #000a;color:#fff2d7}
#quiz-wallet>.quiz-send-sidebar:before,#quiz-wallet>.quiz-send-sidebar:after{content:'−';position:absolute;top:7px;display:grid;place-items:center;width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg,#e4ca92,#735632);box-shadow:0 1px 2px #000,inset 0 1px #fff7;color:#21170f;font:bold 10px/1 monospace}
#quiz-wallet>.quiz-send-sidebar:before{left:7px}#quiz-wallet>.quiz-send-sidebar:after{right:7px}
#quiz-wallet>.quiz-send-sidebar h3{margin:0 15px 8px;text-align:center;color:#ffe1a1;font:700 17px/1.15 Georgia,serif;text-shadow:0 2px 2px #000,0 0 7px #ffca6844}
#quiz-wallet>.quiz-send-sidebar p{margin:7px 0;color:#f2dfc1;font-size:11px;line-height:1.35;text-shadow:0 1px #000}
#quiz-wallet>.quiz-send-sidebar .quiz-send-fields{display:grid;grid-template-columns:1fr;gap:7px;margin:10px 0}
#quiz-wallet>.quiz-send-sidebar label{color:#f7e5c6;font-size:10px}#quiz-wallet>.quiz-send-sidebar label span{color:#cbb996}
#quiz-wallet>.quiz-send-sidebar input{padding:8px;border-color:#8f744d;background:#0d0c0c;box-shadow:inset 0 2px 6px #000;color:#fff4d5}
#quiz-wallet>.quiz-send-sidebar .button{width:100%;min-height:40px;border-color:#f2ce87;background:linear-gradient(#f5d493,#dcae61);color:#24180d;font-weight:800;box-shadow:inset 0 1px #fff8,0 2px 4px #0008}
#quiz-wallet>.quiz-send-sidebar[hidden]{display:none!important}
@media(min-width:1100px) and (min-aspect-ratio:7/5) and (min-height:650px){
 #quiz .quiz-sidebar>#quiz-wallet{margin-top:auto;min-height:calc(clamp(300px,42svh,380px) + 26px)}
}

#quiz .game-controls-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;height:auto;margin:4px 0}
#quiz .game-controls-row .quiz-hints{display:flex;gap:6px;flex-shrink:0;margin:0}
#quiz .game-controls-row #artist-search{margin:0 0 0 auto;min-width:0;max-width:240px}
#quiz .game-controls-row .keyboard-choice{margin:0;flex-shrink:0}
@media(min-width:1100px){#quiz .game-controls-row{flex-wrap:nowrap}#quiz .game-controls-row .quiz-hints button{min-height:28px;padding:4px 8px;font-size:10px}#quiz .game-controls-row #artist-search input,#quiz .game-controls-row #artist-search button{min-height:28px;padding:4px 8px}}
@media(max-width:700px){#quiz .game-controls-row .quiz-hints{flex:1}#quiz .game-controls-row .quiz-hints button{flex:1;min-height:44px}#quiz .game-controls-row #artist-search{order:2;flex-basis:100%;max-width:none;width:100%}}
@media(min-width:1100px) and (min-aspect-ratio:7/5) and (min-height:650px){#quiz .puzzle-column{grid-template-rows:64px minmax(100px,1fr) clamp(350px,42svh,380px) 30px}#quiz .quiz-sidebar>#quiz-wallet{min-height:calc(clamp(350px,42svh,380px) + 26px)}}

#quiz .quiz-sidebar>.pendu-panel{order:4;position:relative;inset:auto;width:100%;flex:1 1 0;min-height:140px;padding:12px;border:0;background:transparent;box-shadow:none}
#quiz .quiz-sidebar>.pendu-panel .gallows{width:100%;height:100%;flex:1;min-height:100px;max-height:320px;stroke-width:2}
#quiz .quiz-sidebar>.pendu-panel h2{font-size:10px;margin:0 0 8px}
#quiz .quiz-sidebar>.pendu-panel[hidden]{display:none}
@media(min-width:1100px) and (max-height:850px){#quiz .quiz-sidebar>#quiz-wallet{min-height:0;margin-top:0}#quiz .quiz-sidebar>.pendu-panel{min-height:110px;padding:6px}}
@media(max-width:1099px){#quiz .quiz-sidebar>.pendu-panel{height:260px;grid-column:1/-1}#quiz .quiz-sidebar>.pendu-panel .gallows{max-height:220px}}

#quiz .quiz-sidebar>#session-live{order:-3;position:sticky;top:0;z-index:3;background:#241b28}
#quiz .quiz-sidebar>.quiz-players{order:10;margin-top:auto}
#quiz .quiz-sidebar>#wallet-more.wallet-more-footer{order:20;grid-column:1/-1;width:100%;min-height:40px;margin:0;padding:8px 12px;color:var(--gold);font-size:12px;flex:none}

#quiz .hangman.won .riddle-row .word{background:linear-gradient(#175935,#247c45 46%,#14542e 51%,#103d25);border-color:#65bd7c;box-shadow:inset 0 2px 5px #001a11,0 0 10px #57db7655;color:#efffdc;text-shadow:0 0 5px #baffb877}
#quiz .hangman.won .riddle-row .letter{border-bottom-color:#a8e5ab77}

/* Admin-controlled artist search; wallet and hangman stay available. */
.artist-search-hidden #artist-search,.artist-search-hidden #quiz-wallet-ready,.artist-search-hidden #token-meter-price{display:none!important}

/* Le bandeau de session inférieur est volontairement supprimé de la page publique. */
#session{display:none!important}

/* Aucun texte promotionnel sous le compteur de jetons. */
#quiz-wallet-ready{display:none!important}
