/* Apply New_Design's semantic palette to the existing, functional application. */
:root{--ink:var(--foreground);--paper:var(--background);--blue:var(--primary);--line:var(--border);--mint:var(--secondary);--coral:var(--accent)}
body{background:var(--background);color:var(--foreground);font-family:var(--font-body);padding:0;font-size:14px}.app-shell{border-radius:0;background:var(--background);min-height:100vh}.sidebar{inset:0 auto 0 0;border-radius:0;background:var(--primary);color:var(--primary-foreground);padding-top:28px}.sidebar .brand{margin:12px 10px 36px}.atelier-wordmark{font:700 30px var(--font-display);color:var(--primary-foreground)}.atelier-wordmark span{color:var(--accent)}.sidebar .nav-item,.sidebar .nav-item span{color:var(--primary-foreground);font-family:var(--font-body)}.sidebar .nav-item:hover,.sidebar .nav-item.active{background:color-mix(in oklch,var(--primary-foreground) 13%,transparent);color:var(--primary-foreground);box-shadow:none}.sidebar .nav-item.active span{color:var(--primary-foreground)}.sidebar-bottom.help-button{color:var(--primary-foreground);font-family:var(--font-body)}.sidebar-bottom.help-button:hover{background:color-mix(in oklch,var(--primary-foreground) 13%,transparent);color:var(--primary-foreground)}.sidebar .round-button{background:transparent;color:var(--primary-foreground);border-color:color-mix(in oklch,var(--primary-foreground) 25%,transparent)}
h1,h2,h3,.topbar h1,.card-heading h2,.studio-intro h1,.guide-copy h2,.transcript h2,.library-heading h1,.lesson-heading h1,.account-side h2,.generation h1,.account-card h2,.help-page h1{font-family:var(--font-display);color:var(--primary);letter-spacing:0}.topbar{border-bottom:1px solid var(--border);margin-bottom:24px;height:80px}.topbar h1{font-size:26px}.dash-card,.card,.composer,.player-card{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:none}.metric-panel,.metric{border-color:var(--border);background:var(--muted)}.metric-value strong{color:var(--primary)}.metric-badge,.metric-badge.green,.start-icon{background:var(--secondary);color:var(--primary)}.metric-label,.chart-note,.start-card p,.topic-copy small,.recent-row small,.guide-copy p,.studio-intro p,.page-intro,.help-note,#help-status{color:var(--muted-foreground)}.start-card h2{font-family:var(--font-display);font-size:17px}.primary,.create-top,.play-button,.row-play{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);font-family:var(--font-body)}.primary:hover,.create-top:hover{background:color-mix(in oklch,var(--primary) 88%,black)}.primary{border-radius:999px}.topic-meta small,.chips span,.account-tabs button.selected{background:var(--secondary);color:var(--primary);border-color:var(--border)}.download-button,.save-button,.outline-button,.round-button{background:var(--card);color:var(--primary);border-color:var(--border)}.guide-art,.player-art{background:var(--secondary);color:var(--primary);border-radius:12px}.sound-bars i,.audio-wave i,.chart-bar.has-value{background:var(--primary);border-color:var(--primary)}.guide-disc,.orb{background:var(--accent);color:var(--foreground)}.account-side{background:var(--secondary);color:var(--primary);border-radius:12px}.row-art,.account-avatar{background:var(--secondary);color:var(--primary)}.line.current{background:var(--secondary)}.studio-intro h1 i,.library-heading h1 i,.lesson-heading h1 i,.transcript h2 i,.generation h1 i{color:var(--muted-foreground)}.composer textarea,.composer input,.composer select,.account-card input,.help-form input,.help-form select,.help-form textarea,.lesson-topic textarea{background:var(--background);color:var(--foreground);border-color:var(--border);font-family:var(--font-body)}button,a,input,select,textarea{font-family:var(--font-body)}button:focus-visible,a:focus-visible{outline-color:var(--accent)}.site-return{color:var(--primary-foreground);font-size:11px;text-decoration:none;margin:0 12px 24px;opacity:.8}.site-return:hover{opacity:1;text-decoration:underline}
@media(max-width:760px){.sidebar{background:var(--primary)}.topbar{margin-bottom:16px}.navigation-open .sidebar{padding-top:24px}.topbar h1{font-size:22px}}

#account-signed-out > p{color:var(--primary)}

#account-page .account-grid{grid-template-columns:minmax(0,1fr)}

.insert-turn-controls{grid-column:1 / -1;display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:12px;border-top:1px dashed var(--border);cursor:default}.insert-turn-controls label{display:grid;gap:4px;font-size:12px;color:var(--primary)}.insert-turn-controls select{padding:8px 10px;max-width:100%;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--foreground);font:inherit}.insert-turn-controls .download-button{font-size:12px}.insert-turn-btn:disabled{opacity:.5;cursor:not-allowed}

.add-turn-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.add-turn-controls label{display:grid;gap:6px;color:var(--primary);font-size:13px;font-weight:600}.add-turn-controls select{max-width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--foreground);font:inherit}.add-turn-controls p{flex-basis:100%;color:var(--primary);font-size:13px}.add-turn-controls button:disabled{opacity:.5;cursor:not-allowed}.line p[contenteditable="true"]:empty{min-height:44px}.line p[contenteditable="true"]:empty::before{content:'Saisissez la réplique…';color:var(--muted-foreground);pointer-events:none}

@media(min-width:901px){.lesson-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)}}

:root{--speaker-one-color:#3459ba;--speaker-two-color:#aa704b;--speaker-three-color:#397766}
.speaker.camille,.line-speaker.camille,#speaker-one-legend,#now-title .player-speaker.camille{color:var(--speaker-one-color)}
.camille-dot{background:var(--speaker-one-color)}
.speaker.thomas,.line-speaker.thomas,#speaker-two-legend,#now-title .player-speaker.thomas{color:var(--speaker-two-color)}
.thomas-dot{background:var(--speaker-two-color)}
.speaker.sofia,.line-speaker.sofia,#speaker-three-legend,#now-title .player-speaker.sofia{color:var(--speaker-three-color)}
.sofia-dot{background:var(--speaker-three-color)}

/* Double battement de l’anneau pendant la création de la leçon. */
.generation .orb{position:relative;box-shadow:none}
.generation .orb::before{content:'';position:absolute;inset:-12px;border:12px solid #b8ccef;border-radius:50%;pointer-events:none;transform:scale(1);opacity:1}
#generating-page.active-page .orb::before{animation:loading-heartbeat 2s ease-in-out infinite}
@keyframes loading-heartbeat{0%,45%,100%{transform:scale(1);opacity:1}12%{transform:scale(1.16);opacity:.65}24%{transform:scale(1.02);opacity:.95}34%{transform:scale(1.11);opacity:.75}}
@keyframes loading-heartbeat-soft{0%,45%,100%{opacity:1}12%{opacity:.3}24%{opacity:.95}34%{opacity:.45}}
@media(prefers-reduced-motion:reduce){.generation .orb{animation:none}#generating-page.active-page .orb::before{transform:none;animation:loading-heartbeat-soft 2s ease-in-out infinite!important}}

#now-title .player-speaker{font:inherit}

#now-title{color:var(--primary)}

.player-art .audio-wave i:nth-child(3n){background:var(--accent);border-color:var(--accent);opacity:1}

#generation-caption{color:#000}

/* Même vert pour le bilan d’activité et le nombre de leçons. */
.chart-summary strong,.chart-summary strong span,.chart-summary small{color:var(--primary)}

/* Lecture : couleur relevée sur l’échantillon fourni. */
.player-card{--player-controls-color:#113c2c}
#now-title,#now-title .player-speaker{font-weight:700}
.player-card .now-playing,.player-card #now-detail,
.player-card #elapsed,.player-card #total-duration,
.player-card #back-ten,.player-card #forward-ten,
.player-card .volume-control label,.player-card #volume-value{color:var(--player-controls-color)}
.player-card #speed-btn{color:var(--player-controls-color)!important}

/* Message affiché sous le formulaire de génération. */
#generation-error{font-size:20px;font-weight:700}

/* Lisibilité des indications de création et d’import. */
#source-picker-hint,#personal-transcript-hint,#transcript-upload-status,
.composer .source-option small{color:#113c2c}
