/* Leitmotiv — objets propres à l’instrument.
   Le système Ductus est conservé dans systeme.css. */
.transport,.studio{min-width:0;}
.transport-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gouttiere);row-gap:var(--e4);align-items:end;}
.play-buttons{grid-column:1/-1;display:flex;gap:var(--e2);flex-wrap:wrap;}
.transport-controls>label,.format-controls>label,.brush-label,.song-controls label,.precise-controls label,.word-editor>label{display:block;font-size:.8125rem;color:var(--gris);}
.transport-controls .champ__saisie,.format-controls .champ__saisie,.song-controls .champ__saisie{margin-top:.45rem;}
.tempo-control>span{float:right;color:var(--encre);}
.transport-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;column-gap:var(--gouttiere);row-gap:var(--e2);align-items:center;margin-top:var(--e4);}
.transport-bottom>label{font-size:.8125rem;color:var(--gris);}
#now-playing{font-size:.75rem;color:var(--gris);grid-column:1/-1;}
.beat-lights{display:flex;gap:.55rem;grid-column:1/-1;}
.beat-dot{display:block;width:10px;height:10px;border:1px solid var(--filet);background:var(--papier);}
.beat-dot.lit{background:var(--encre);border-color:var(--encre);}
#audio-status{font-size:.75rem;color:var(--gris);line-height:1.7;margin:var(--e2) 0 0;}
.studio{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--gouttiere);align-items:start;}
.drawing,.result{min-width:0;}
.format-controls{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--e2);}
.instruction,.song-note,.message,.cell-info,.reference p,.footnote,.challenge p{font-size:.8125rem;line-height:1.75;color:var(--gris);}
.instruction{margin:var(--e3) 0;}
.tools,.presets{display:flex;flex-wrap:wrap;gap:var(--e1);}
.tools .action,.presets .action{padding-inline:.8rem;letter-spacing:0;}
.brush-label{display:flex;gap:var(--e2);align-items:center;margin-block:var(--e3);}
.brush-label select{width:auto;max-width:14rem;}
.matrix-wrap{margin-top:var(--e3);}
.axis{font-size:.75rem;line-height:1.6;color:var(--gris);margin-bottom:var(--e2);}
#matrix-scroll{width:100%;aspect-ratio:1;overflow:auto;border:1px solid var(--filet);background:var(--papier);}
#matrix{display:block;touch-action:none;image-rendering:pixelated;cursor:crosshair;}
#matrix:focus-visible{outline:2px solid var(--encre);outline-offset:-2px;}
.cell-info{min-height:2.8em;margin:var(--e2) 0;overflow-wrap:anywhere;}
.precise-controls{display:flex;align-items:end;flex-wrap:wrap;gap:var(--e2);}
.precise-controls input{width:5.5rem;margin-top:.45rem;}
.precise-controls .action{padding-inline:.75rem;}
.legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.75rem;color:var(--gris);margin-top:var(--e3);}
.key{display:inline-block;width:9px;height:9px;vertical-align:baseline;margin-right:.4rem;}
.key.fixed{background:#111;}.key.filled{background:#555;}.key.play-key{background:#d9d9d9;border:1px solid #777;}
#message{margin-block:var(--e3);}
.presets{border-top:1px solid var(--filet);padding-top:var(--e3);}
.presets>span{flex-basis:100%;font-size:.75rem;color:var(--gris);margin-bottom:var(--e1);}
.reference,#method{padding-block:var(--e3);border-block:1px solid var(--filet);margin-top:var(--e4);}
summary{font-size:.8125rem;line-height:1.7;text-decoration:underline;text-underline-offset:.22em;cursor:pointer;min-height:var(--toucher);display:flex;align-items:center;}
summary::marker{content:'';}summary::after{content:'+';margin-left:auto;padding-left:1rem;text-decoration:none;font-family:var(--mono);}
details[open]>summary::after{content:'−';}
.reference figure{margin:var(--e2) 0;}
.reference img{filter:grayscale(1);width:100%;height:auto;}
.reference figcaption{font-size:.75rem;line-height:1.7;color:var(--gris);margin-top:var(--e2);}
.song-controls .champ__saisie{font-size:.875rem;width:100%;}
.song-top{display:flex;gap:var(--e1);align-items:center;flex-wrap:wrap;margin-top:var(--e3);}
#word-count{font-size:.75rem;color:var(--gris);}
.song-top .action{padding-inline:.65rem;}
.follow-label{display:flex;align-items:start;gap:.55rem;font-size:.75rem;color:var(--gris);margin-top:var(--e2);}
.follow-label input{accent-color:var(--encre);margin-top:.35rem;}
#lyrics{position:relative;height:580px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-block:1px solid var(--filet);margin-block:var(--e3);padding-block:var(--e2);}
.lyric-section{padding:var(--e2) 0 var(--e3);}
.lyric-section h3{font-family:var(--mono);font-size:.75rem;color:var(--gris);line-height:1.7;margin-bottom:var(--e2);}
.verse{display:flex;flex-wrap:wrap;column-gap:.4rem;align-items:baseline;line-height:1.9;}
.word{font-family:var(--mono);font-size:.9375rem;line-height:1.85;color:var(--encre);background:transparent;border:0;border-bottom:1px solid transparent;border-radius:0;padding:0 1px;cursor:pointer;}
.word:hover{border-bottom-color:var(--encre);}
.word.singing{background:var(--encre);color:var(--papier);}
.word-editor>div{display:flex;gap:var(--e1);margin-top:.45rem;flex-wrap:wrap;}
.word-editor input{width:100%;min-width:0;}
.word-editor .action{padding-inline:.8rem;}
.song-note{margin-top:var(--e2);}
.meter,.challenge{padding-block:var(--e3);border-top:1px solid var(--filet);margin-top:var(--e4);}
.meter>div:first-child{display:flex;align-items:baseline;gap:var(--e2);justify-content:space-between;}
.meter>div:first-child>span,.challenge>span{font-size:.75rem;color:var(--gris);}
#score{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.5;white-space:nowrap;}
#score span{font-size:1rem;margin-left:.3rem;}
.track{height:1px;background:var(--filet);margin-top:var(--e2);}
#bar{height:1px;background:var(--encre);}
#verdict{font-size:.8125rem;line-height:1.7;}
.footnote{font-size:.75rem;}
.challenge{margin-top:0;}
.challenge h3{margin-block:.45rem;}
#challenge{color:var(--encre);}
.sources{padding-top:var(--e3);border-top:1px solid var(--filet);}
.contenu aside{padding-block:.25rem;}
#method p{font-size:.875rem;line-height:1.85;}
@media(min-width:900px){.transport-bottom>label:first-of-type{grid-column:2;}.transport-bottom>label:last-of-type{grid-column:3;}}
@media(max-width:899px){.studio{grid-template-columns:1fr;}.result{padding-top:var(--e4);border-top:1px solid var(--filet);}.transport-controls{grid-template-columns:1fr 1fr;}.transport-bottom{grid-template-columns:1fr 1fr;}#lyrics{height:450px;}.word{font-size:1rem;}.word-editor input{flex:1;}.word-editor>div{flex-wrap:nowrap;}.contenu>.tete+.tete{margin-top:0;}.song-controls select{max-width:32rem;}}
@media(max-width:540px){.transport-controls{grid-template-columns:1fr;}.transport-bottom{grid-template-columns:1fr;}.transport-bottom>label{grid-column:1;}.format-controls{grid-template-columns:1fr;}.play-buttons .action{flex:1 1 100%;}.word-editor>div{flex-wrap:wrap;}.word-editor input{flex-basis:100%;}.tools .action,.presets .action{flex:1 1 auto;}.precise-controls{gap:.5rem;}.precise-controls .action{flex-basis:100%;}.section-app__entete{column-gap:.5rem;}#lyrics{height:400px;}}
@media print{.transport,.tools,.format-controls,.precise-controls,.word-editor,.brush-label,.song-controls,.song-top,.follow-label{display:none;}#lyrics{height:auto;overflow:visible;}.studio{display:block;}.drawing,.result{break-inside:avoid;}}
