/* ===================== L CULTURE — DA "plateau télé rétro années 70" =====================
   Rayons de soleil qui tournent, rideaux de velours, projecteurs, enseigne à ampoules (le grand L),
   écran géant cerclé d'ampoules, pupitres de candidats avec tableau de score. Tout en CSS/SVG.
   Polices : Shrikhand (logo / titres), Righteous (interface), Nunito (texte). */
:root{ --lc-orange:#ff6b1a; --lc-teal:#16a89a; --lc-cream:#fff1d0; --lc-choc:#3b1f12; --lc-mustard:#f5b82e; --lc-pink:#ff5e7e; --lc-plum:#3a1530; --lc-night:#1c0f24; }

/* ---------- décor du plateau ---------- */
body.lc-bg #app-bg{ background:radial-gradient(ellipse at 50% 110%, #ff9a3c 0%, #c2410c 35%, #4a1530 70%, #1c0f24 100%); overflow:hidden; }
body.lc-bg #app-bg::after{ content:""; display:block; position:absolute; left:50%; top:105%; width:240vmax; height:240vmax; margin:-120vmax 0 0 -120vmax; opacity:.38;
  background:repeating-conic-gradient(from 0deg, #ffd48a 0deg 7deg, transparent 7deg 15deg); animation:lc-rays 90s linear infinite; }
@keyframes lc-rays{ to{ transform:rotate(360deg); } }
body.lc-bg::before, body.lc-bg::after{ content:""; position:fixed; top:0; bottom:0; width:clamp(26px,7vw,120px); z-index:1; pointer-events:none;
  background:repeating-linear-gradient(90deg, #8a0f1f 0 10px, #b3162b 10px 22px, #6e0a18 22px 30px);
  box-shadow:inset -10px 0 20px rgba(0,0,0,.45), 6px 0 18px rgba(0,0,0,.4); }
body.lc-bg::before{ left:0; border-right:6px solid #e8b13b; }
body.lc-bg::after{ right:0; border-left:6px solid #e8b13b; transform:scaleX(-1); }
.lc-scene{ font-family:Nunito,sans-serif; }
/* projecteurs qui balaient la scène */
.lc-scene::before, .lc-scene::after{ content:""; position:fixed; top:-10vh; width:38vw; height:130vh; pointer-events:none; z-index:0; opacity:.22;
  background:linear-gradient(180deg, rgba(255,240,200,.9), rgba(255,240,200,0) 85%); clip-path:polygon(45% 0,55% 0,100% 100%,0 100%); }
.lc-scene::before{ left:8vw; transform-origin:50% 0; animation:lc-spot 9s ease-in-out infinite alternate; }
.lc-scene::after{ right:8vw; transform-origin:50% 0; animation:lc-spot 11s ease-in-out infinite alternate-reverse; }
@keyframes lc-spot{ from{ transform:rotate(-14deg); } to{ transform:rotate(14deg); } }

/* ---------- logo : enseigne L à ampoules + "Culture" ---------- */
.lc-logo{ display:inline-flex; align-items:flex-end; gap:.08em; line-height:1; }
.lc-L{ display:inline-block; width:1.02em; height:1.32em; margin-bottom:-.06em; transform:rotate(-6deg); filter:drop-shadow(0 .05em 0 var(--lc-choc)) drop-shadow(0 .1em .2em rgba(0,0,0,.4)); }
.lc-L svg{ display:block; width:100%; height:100%; overflow:visible; }
.lc-L-shape{ fill:var(--lc-orange); stroke:var(--lc-choc); stroke-width:4; stroke-linejoin:round; }
.lc-L-inner{ fill:#ff8a3d; }
.lc-bulb{ fill:#fff6c8; stroke:#b57b14; stroke-width:1; animation:lc-bulb 1.1s steps(1) infinite; }
@keyframes lc-bulb{ 0%,50%{ fill:#fff6c8; filter:drop-shadow(0 0 2px #ffe27a); } 51%,100%{ fill:#e8b13b; filter:none; } }
.lc-word{ font-family:'Shrikhand',cursive; color:var(--lc-cream); letter-spacing:.01em; transform:skew(-6deg);
  text-shadow:.03em .03em 0 var(--lc-choc), .06em .06em 0 var(--lc-choc), .09em .09em 0 #ff5e7e, .12em .12em 0 var(--lc-choc); }
.lc-logo-big{ font-size:clamp(64px,13vw,128px); }
.lc-logo-mini{ font-size:30px; }
.lc-logo-hub{ font-size:15cqw; }

/* ---------- boutons ---------- */
.lc-btn{ font-family:'Righteous',sans-serif; font-size:17px; letter-spacing:.5px; cursor:pointer; color:var(--lc-choc);
  background:linear-gradient(#ffd66b,var(--lc-mustard) 55%,#e89a17); border:3px solid var(--lc-choc); border-radius:999px; padding:10px 20px;
  box-shadow:0 5px 0 var(--lc-choc), inset 0 2px 0 rgba(255,255,255,.55); transition:transform .1s, filter .15s; }
.lc-btn:hover{ filter:brightness(1.08); transform:translateY(-1px); }
.lc-btn:active{ transform:translateY(4px); box-shadow:0 1px 0 var(--lc-choc); }
.lc-btn:disabled{ filter:grayscale(.9) brightness(.8); cursor:not-allowed; transform:none; }
.lc-btn.big{ font-size:22px; padding:14px 28px; background:linear-gradient(#ff9a5a,var(--lc-orange) 55%,#e0520c); color:var(--lc-cream); text-shadow:0 2px 0 var(--lc-choc); }
.lc-btn.ghost{ background:rgba(255,241,208,.12); color:var(--lc-cream); border-color:var(--lc-cream); box-shadow:none; }
.lc-btn.small{ font-size:13px; padding:6px 12px; box-shadow:0 3px 0 var(--lc-choc); }
.lc-btn.ghost.small{ box-shadow:none; }
.lc-line{ display:flex; gap:8px; width:100%; align-items:center; }
.lc-line input{ flex:1; min-width:0; font-family:'Righteous',sans-serif; font-size:20px; color:var(--lc-choc); text-align:center;
  background:var(--lc-cream); border:3px solid var(--lc-choc); border-radius:14px; padding:10px 12px; outline:none; box-shadow:inset 0 3px 0 rgba(0,0,0,.12); }
.lc-line input:focus{ border-color:var(--lc-orange); box-shadow:inset 0 3px 0 rgba(0,0,0,.12), 0 0 0 4px rgba(255,107,26,.35); }
#lc-join-code{ text-transform:uppercase; letter-spacing:8px; }

/* ---------- écran pseudo (landing partagé) ---------- */
body.lc-bg #landing .landing-inner{ position:relative; z-index:2; gap:20px; }
body.lc-bg #logo-text{ text-shadow:none; }
body.lc-bg .tagline{ color:var(--lc-cream); font-family:'Righteous',sans-serif; text-shadow:0 2px 0 var(--lc-choc); }
body.lc-bg #landing .field{ color:var(--lc-cream); font-family:'Righteous',sans-serif; }
body.lc-bg #landing .field input{ font-family:'Righteous',sans-serif; color:var(--lc-choc); background:var(--lc-cream); border:3px solid var(--lc-choc); text-align:center; font-size:20px; }
body.lc-bg #land-back{ color:var(--lc-cream); }
#btn-play.lc-play{ font-family:'Shrikhand',cursive; font-size:38px; color:var(--lc-cream); cursor:pointer; padding:12px 54px; border-radius:999px;
  border:4px solid var(--lc-choc); background:linear-gradient(#ff9a5a,var(--lc-orange) 55%,#e0520c); text-shadow:0 3px 0 var(--lc-choc);
  box-shadow:0 7px 0 var(--lc-choc), 0 0 0 7px var(--lc-mustard), 0 0 0 10px var(--lc-choc), 0 18px 30px rgba(0,0,0,.4); transition:transform .12s; }
#btn-play.lc-play:hover{ transform:scale(1.05) rotate(-1deg); }
#btn-play.lc-play:active{ transform:translateY(5px); box-shadow:0 2px 0 var(--lc-choc), 0 0 0 7px var(--lc-mustard), 0 0 0 10px var(--lc-choc); }

/* ---------- accueil ---------- */
.lc-home{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:22px; width:min(900px,86vw); }
.lc-home > .lc-logo{ animation:lc-pop .6s cubic-bezier(.2,1.6,.4,1) both; }
@keyframes lc-pop{ from{ transform:scale(.3); opacity:0; } }
.lc-home-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; width:100%; }
@media (max-width:760px){ .lc-home-grid{ grid-template-columns:minmax(0,1fr); } } /* minmax(0,…) : une carte trop large ne fait plus déborder la page (téléphone) */
.lc-card{ position:relative; display:flex; flex-direction:column; align-items:center; gap:14px; padding:44px 20px 20px; color:var(--lc-choc);
  background:var(--lc-cream); border:4px solid var(--lc-choc); border-radius:26px; box-shadow:0 8px 0 var(--lc-choc), 0 18px 34px rgba(0,0,0,.35); }
.lc-card-title{ position:absolute; top:-20px; left:50%; transform:translateX(-50%) rotate(-2deg); white-space:nowrap; font-family:'Shrikhand',cursive; font-size:24px;
  color:var(--lc-cream); background:var(--lc-teal); border:4px solid var(--lc-choc); border-radius:999px; padding:2px 20px; text-shadow:0 2px 0 var(--lc-choc); }
.lc-ed-stage{ display:flex; align-items:center; gap:14px; width:100%; justify-content:center; }
.lc-ed-av{ width:min(150px,36vw); text-align:center; }
.lc-ed-av .lc-av{ width:100%; display:block; filter:drop-shadow(0 8px 0 rgba(59,31,18,.25)); }
.lc-ed-av.bump .lc-av{ animation:lc-bump .3s; }
@keyframes lc-bump{ 40%{ transform:scale(1.12,.9); } 70%{ transform:scale(.95,1.06); } }
.lc-ed-name{ font-family:'Righteous',sans-serif; font-size:18px; color:var(--lc-cream); background:var(--pc); border:3px solid var(--lc-choc); border-radius:999px; padding:1px 10px; margin-top:4px; display:inline-block; }
.lc-ed-rows{ display:flex; flex-direction:column; gap:6px; }
.lc-ed-row{ display:flex; align-items:center; gap:6px; }
.lc-ed-label{ display:flex; flex-direction:column; align-items:center; width:100px; font-family:'Righteous',sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:1px; }
.lc-ed-label small{ font-family:Nunito,sans-serif; text-transform:none; letter-spacing:0; font-size:13px; font-weight:800; color:var(--lc-orange); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100px; }
.lc-arrow{ width:36px; height:36px; border-radius:50%; border:3px solid var(--lc-choc); background:var(--lc-mustard); color:var(--lc-choc); font-size:13px; cursor:pointer; box-shadow:0 3px 0 var(--lc-choc); }
.lc-arrow:active{ transform:translateY(3px); box-shadow:none; }
.lc-ed-colors{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; }
.lc-swatch{ width:28px; height:28px; border-radius:50%; background:var(--c); border:3px solid var(--lc-choc); cursor:pointer; transition:transform .1s; }
.lc-swatch.on{ transform:scale(1.25); box-shadow:0 0 0 3px var(--lc-cream), 0 0 0 6px var(--lc-choc); }
.lc-ed-colors + .lc-btn.ghost, .lc-card .lc-btn.ghost{ color:var(--lc-choc); border-color:var(--lc-choc); background:transparent; }
.lc-shows > .lc-btn.big{ width:100%; }
.lc-open-title{ align-self:flex-start; font-family:'Righteous',sans-serif; text-transform:uppercase; letter-spacing:1px; font-size:14px; }
.lc-open-title::before{ content:"● "; color:#ff2b4a; animation:lc-blink 1s steps(1) infinite; }
@keyframes lc-blink{ 50%{ opacity:0; } }
.lc-open-list{ width:100%; display:flex; flex-direction:column; gap:6px; max-height:190px; overflow:auto; }
.lc-open-row{ display:flex; align-items:center; gap:8px; background:#ffe3a8; border:2px solid var(--lc-choc); border-radius:12px; padding:5px 8px; font-size:14px; }
.lc-open-row b{ font-family:'Righteous',sans-serif; color:var(--lc-orange); letter-spacing:2px; }
.lc-open-host{ font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lc-open-meta{ margin-left:auto; font-size:12px; opacity:.75; white-space:nowrap; }
.lc-empty{ font-weight:700; opacity:.65; text-align:center; }

/* ---------- plateau ---------- */
.lc-room{ position:relative; z-index:2; display:flex; flex-direction:column; gap:12px; width:min(1040px,86vw); margin:auto 0; }
.lc-hud{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.lc-pill{ font-family:'Righteous',sans-serif; font-size:15px; color:var(--lc-choc); background:var(--lc-cream); border:3px solid var(--lc-choc); border-radius:999px; padding:4px 14px; cursor:pointer; box-shadow:0 3px 0 var(--lc-choc); }
.lc-pill b{ color:var(--lc-orange); letter-spacing:3px; }
.lc-pill.dim{ cursor:default; }
.lc-pill[hidden]{ display:none; }
.lc-progress{ font-family:'Righteous',sans-serif; color:var(--lc-cream); font-size:16px; text-shadow:0 2px 0 var(--lc-choc); }
.lc-progress b{ color:var(--lc-mustard); font-size:20px; }
.lc-timer{ position:relative; margin-left:auto; width:58px; height:58px; }
.lc-timer[hidden]{ display:none; }
.lc-timer svg{ width:100%; height:100%; transform:rotate(-90deg); }
.lc-timer-bg{ fill:var(--lc-cream); stroke:var(--lc-choc); stroke-width:4; }
.lc-timer-arc{ fill:none; stroke:var(--lc-orange); stroke-width:5; stroke-dasharray:100; stroke-linecap:round; transition:stroke-dashoffset .2s linear; }
.lc-timer span{ position:absolute; inset:0; display:grid; place-items:center; font-family:'Righteous',sans-serif; font-size:22px; color:var(--lc-choc); }
.lc-timer.urgent{ animation:lc-shake .25s infinite; } .lc-timer.urgent .lc-timer-arc{ stroke:#ff2b4a; }
@keyframes lc-shake{ 25%{ transform:rotate(-6deg); } 75%{ transform:rotate(6deg); } }

/* écran géant cerclé d'ampoules */
.lc-screen-frame{ position:relative; padding:14px; border-radius:34px; border:5px solid var(--lc-choc);
  background:linear-gradient(#ffb347,var(--lc-orange)); box-shadow:0 10px 0 var(--lc-choc), 0 24px 40px rgba(0,0,0,.45); }
.lc-screen-frame::before{ content:""; position:absolute; inset:4px; border-radius:28px; pointer-events:none;
  background:radial-gradient(circle, #fff6c8 0 3px, transparent 4px) 0 0/22px 22px; -webkit-mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000); -webkit-mask-composite:xor; mask-composite:exclude; padding:4px;
  animation:lc-marquee 1.2s steps(2) infinite; }
@keyframes lc-marquee{ 50%{ background-position:11px 0; } }
.lc-screen{ position:relative; min-height:300px; max-height:62vh; overflow:auto; border-radius:22px; border:4px solid var(--lc-choc); padding:22px 24px; color:var(--lc-cream);
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 2px, transparent 2px 4px), radial-gradient(ellipse at 50% 30%, #1b6f73, #0d3b48 70%, #082531);
  box-shadow:inset 0 0 40px rgba(0,0,0,.55); text-align:center; }
.lc-screen.in{ animation:lc-tv .35s ease-out; }
@keyframes lc-tv{ 0%{ transform:scaleY(.02); filter:brightness(3); } 60%{ transform:scaleY(1.02); } 100%{ transform:none; } }
.lc-scr-title{ font-family:'Shrikhand',cursive; font-size:clamp(26px,4vw,38px); color:var(--lc-mustard); text-shadow:0 3px 0 var(--lc-choc); }
.lc-scr-title.big{ font-size:clamp(30px,5vw,48px); }
.lc-scr-sub{ font-weight:700; opacity:.9; margin:4px 0 12px; }
.lc-scr-hint{ margin-top:12px; font-weight:700; opacity:.8; }
.lc-go{ margin-top:16px; }

/* réglages */
.lc-settings{ display:flex; flex-direction:column; gap:12px; text-align:left; max-width:640px; margin:0 auto; }
.lc-set-row{ display:flex; align-items:center; gap:12px; }
.lc-set-row.col{ flex-direction:column; align-items:stretch; }
.lc-set-row > span{ font-family:'Righteous',sans-serif; text-transform:uppercase; letter-spacing:1px; min-width:100px; color:var(--lc-mustard); }
.lc-seg{ display:inline-flex; border:3px solid var(--lc-choc); border-radius:999px; overflow:hidden; }
.lc-seg button{ font-family:'Righteous',sans-serif; font-size:15px; border:0; padding:6px 16px; background:var(--lc-cream); color:var(--lc-choc); cursor:pointer; }
.lc-seg button + button{ border-left:3px solid var(--lc-choc); }
.lc-seg button.on{ background:var(--lc-orange); color:var(--lc-cream); }
.lc-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.lc-chip{ font:inherit; font-weight:800; font-size:13px; border:2px solid var(--lc-cream); color:var(--lc-cream); background:transparent; border-radius:999px; padding:4px 11px; cursor:pointer; opacity:.55; }
.lc-chip.on{ opacity:1; background:var(--lc-teal); border-color:var(--lc-choc); box-shadow:0 2px 0 var(--lc-choc); }
.lc-settings button:disabled{ cursor:default; }

/* question */
.lc-q-head{ display:flex; justify-content:center; align-items:center; gap:10px; margin-bottom:10px; }
.lc-fam{ font-family:'Righteous',sans-serif; font-size:14px; text-transform:uppercase; letter-spacing:1.5px; color:var(--lc-choc); background:var(--lc-mustard); border:3px solid var(--lc-choc); border-radius:999px; padding:2px 14px; }
.lc-fam.alt{ background:var(--lc-pink); color:var(--lc-cream); }
.lc-stars{ color:var(--lc-mustard); font-size:18px; letter-spacing:2px; text-shadow:0 2px 0 var(--lc-choc); }
.lc-q-prompt{ font-family:'Righteous',sans-serif; font-size:clamp(20px,3vw,30px); line-height:1.25; margin:6px auto 8px; max-width:780px; text-shadow:0 2px 0 rgba(0,0,0,.4); }
.lc-q-sub{ font-weight:800; color:#9ff0e4; margin-bottom:8px; }
.lc-q-emoji{ font-size:clamp(46px,8vw,78px); letter-spacing:.08em; margin:6px 0 10px; animation:lc-pop .5s cubic-bezier(.2,1.6,.4,1) both; }
.lc-btn.speak{ margin:4px 0 12px; }
.lc-answer{ max-width:560px; margin:10px auto 0; }
.lc-unit{ font-family:'Righteous',sans-serif; font-size:18px; }
.lc-q-status{ margin-top:12px; font-weight:700; opacity:.85; font-size:14px; }
.lc-q-status .ok{ color:#7dffb0; }
/* QCM : 4 couleurs rétro */
.lc-qcm{ display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:760px; margin:12px auto 0; }
.lc-qcm.n2{ grid-template-columns:1fr 1fr; }
@media (max-width:560px){ .lc-qcm{ grid-template-columns:1fr; } }
.lc-choice{ display:flex; align-items:center; gap:10px; text-align:left; font-family:'Righteous',sans-serif; font-size:18px; color:var(--lc-cream); cursor:pointer;
  border:4px solid var(--lc-choc); border-radius:18px; padding:12px 14px; box-shadow:0 5px 0 var(--lc-choc); text-shadow:0 2px 0 rgba(0,0,0,.35); transition:transform .1s, filter .15s; }
.lc-choice b{ display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:50%; background:var(--lc-cream); color:var(--lc-choc); border:3px solid var(--lc-choc); text-shadow:none; }
.lc-choice.c0{ background:var(--lc-orange); } .lc-choice.c1{ background:var(--lc-teal); } .lc-choice.c2{ background:var(--lc-pink); } .lc-choice.c3{ background:#7b5cd6; }
.lc-choice:hover{ transform:translateY(-2px); filter:brightness(1.1); }
.lc-choice.chosen{ transform:translateY(4px); box-shadow:0 1px 0 var(--lc-choc), 0 0 0 5px var(--lc-mustard); }
.lc-qcm:has(.chosen) .lc-choice:not(.chosen){ filter:saturate(.4) brightness(.8); }
/* choisis ton niveau */
.lc-pick{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:14px; }
.lc-pick-btn{ display:flex; flex-direction:column; align-items:center; gap:4px; width:170px; padding:16px 10px; font-family:'Righteous',sans-serif; color:var(--lc-cream); cursor:pointer;
  border:4px solid var(--lc-choc); border-radius:22px; box-shadow:0 6px 0 var(--lc-choc); transition:transform .1s; }
.lc-pick-btn b{ font-family:'Shrikhand',cursive; font-size:24px; text-shadow:0 2px 0 var(--lc-choc); }
.lc-pick-btn.l1{ background:var(--lc-teal); } .lc-pick-btn.l2{ background:var(--lc-orange); } .lc-pick-btn.l3{ background:var(--lc-pink); }
.lc-pick-btn:hover{ transform:translateY(-3px) rotate(-1deg); }
/* chronologie */
.lc-order{ display:flex; flex-direction:column; gap:8px; max-width:620px; margin:10px auto 0; align-items:stretch; }
.lc-order-item{ display:flex; align-items:center; gap:10px; text-align:left; font:inherit; font-weight:800; font-size:16px; color:var(--lc-choc); background:var(--lc-cream);
  border:3px solid var(--lc-choc); border-radius:14px; padding:8px 12px; cursor:pointer; box-shadow:0 3px 0 var(--lc-choc); }
.lc-order-item b{ display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:50%; background:#d9c9a6; font-family:'Righteous',sans-serif; }
.lc-order-item.set{ background:var(--lc-mustard); } .lc-order-item.set b{ background:var(--lc-orange); color:var(--lc-cream); }
.lc-order .lc-btn{ align-self:center; }
/* petit bac */
.lc-bac-letter{ display:inline-grid; place-items:center; width:84px; height:84px; margin:4px auto 10px; font-family:'Shrikhand',cursive; font-size:56px; color:var(--lc-choc);
  background:var(--lc-mustard); border:5px solid var(--lc-choc); border-radius:22px; box-shadow:0 6px 0 var(--lc-choc); animation:lc-pop .5s cubic-bezier(.2,1.6,.4,1) both; }
.lc-bac{ display:grid; grid-template-columns:1fr 1fr; gap:10px; max-width:700px; margin:0 auto; }
@media (max-width:560px){ .lc-bac{ grid-template-columns:1fr; } }
.lc-bac label{ display:flex; flex-direction:column; gap:3px; text-align:left; font-family:'Righteous',sans-serif; font-size:14px; color:var(--lc-mustard); }
.lc-bac input{ font-family:'Righteous',sans-serif; font-size:18px; color:var(--lc-choc); background:var(--lc-cream); border:3px solid var(--lc-choc); border-radius:12px; padding:8px 10px; outline:none; }
.lc-bac input:focus{ border-color:var(--lc-orange); }
.lc-bac .lc-btn{ grid-column:1 / -1; justify-self:center; }

/* correction */
.lc-corr{ display:flex; flex-direction:column; gap:14px; text-align:left; }
.lc-c-card{ background:var(--lc-cream); color:var(--lc-choc); border:4px solid var(--lc-choc); border-radius:20px; padding:12px 14px; box-shadow:0 5px 0 var(--lc-choc); }
.lc-screen.in .lc-c-card{ animation:lc-pop .4s both; } /* seulement au 1er affichage : pas à chaque note cliquée */
.lc-c-head{ display:flex; align-items:center; gap:8px; }
.lc-c-num{ margin-left:auto; font-family:'Righteous',sans-serif; font-size:20px; color:var(--lc-orange); }
.lc-c-prompt{ font-weight:800; margin:8px 0 4px; }
.lc-c-emoji{ font-size:22px; }
.lc-c-sol{ display:flex; flex-wrap:wrap; gap:4px 14px; align-items:baseline; font-family:'Righteous',sans-serif; color:#0b7d70; margin-bottom:8px; }
.lc-c-sol small{ font-family:Nunito,sans-serif; font-weight:700; color:var(--lc-choc); opacity:.7; width:100%; }
.lc-c-sol .lc-stars{ font-size:13px; }
.lc-c-row{ display:flex; align-items:center; gap:10px; padding:6px 0; border-top:2px dashed rgba(59,31,18,.2); }
.lc-c-row.bac{ align-items:flex-start; flex-wrap:wrap; }
.lc-c-who{ display:flex; align-items:center; gap:6px; flex:0 0 150px; font-weight:900; color:var(--lc-choc); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.lc-c-who .lc-stars{ font-size:11px; }
.lc-c-av{ flex:0 0 32px; height:32px; } .lc-c-av .lc-av{ width:32px; height:32px; }
.lc-c-ans{ flex:1; font-weight:700; overflow-wrap:anywhere; }
.lc-c-ans .none{ opacity:.5; }
.lc-c-bac{ flex:1; display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:6px; }
.lc-c-bac-item{ display:flex; flex-direction:column; gap:2px; background:#ffe3a8; border-radius:10px; padding:4px 6px; }
.lc-c-bac-item small{ font-size:11px; opacity:.7; } .lc-c-bac-item b{ overflow-wrap:anywhere; }
.lc-c-pts{ flex:0 0 52px; text-align:right; font-family:'Righteous',sans-serif; color:var(--lc-orange); }
.lc-notes{ display:inline-flex; gap:4px; }
.lc-nb{ width:34px; height:30px; border-radius:10px; border:2px solid var(--lc-choc); background:#fff; font-family:'Righteous',sans-serif; font-size:15px; cursor:pointer; opacity:.55; }
.lc-nb.on{ opacity:1; box-shadow:0 3px 0 var(--lc-choc); }
.lc-nb.n0.on, .lc-note.n0{ background:#ff8a8a; } .lc-nb.n05.on, .lc-note.n05{ background:var(--lc-mustard); } .lc-nb.n1.on, .lc-note.n1{ background:#7de0a6; }
.lc-note{ display:inline-grid; place-items:center; width:34px; height:30px; border-radius:10px; border:2px solid var(--lc-choc); font-family:'Righteous',sans-serif; }

/* tableaux de score (récap, final) */
.lc-board{ display:flex; flex-direction:column; gap:8px; max-width:620px; margin:12px auto 0; }
.lc-board-row{ display:flex; align-items:center; gap:10px; padding:6px 12px; border-radius:16px; border:3px solid var(--lc-choc); background:var(--lc-cream); color:var(--lc-choc);
  box-shadow:inset 8px 0 0 var(--pc), 0 4px 0 var(--lc-choc); text-align:left; }
.lc-screen.in .lc-board-row{ animation:lc-slide .45s both; }
@keyframes lc-slide{ from{ transform:translateX(-40px); opacity:0; } }
.lc-rank{ font-family:'Shrikhand',cursive; font-size:24px; width:30px; text-align:center; color:var(--lc-orange); }
.lc-board-av{ width:42px; height:42px; } .lc-board-av .lc-av{ width:42px; height:42px; }
.lc-board-name{ flex:1; font-weight:900; font-size:17px; }
.lc-gain{ font-family:'Righteous',sans-serif; color:#0b7d70; font-size:18px; }
.lc-board-score{ font-family:'Righteous',sans-serif; font-size:24px; min-width:56px; text-align:right; }
.lc-adj{ display:inline-flex; gap:4px; } .lc-adj button{ font-family:'Righteous',sans-serif; border:2px solid var(--lc-choc); border-radius:8px; background:var(--lc-mustard); cursor:pointer; padding:2px 8px; }

/* podium */
.lc-podium{ display:flex; align-items:flex-end; justify-content:center; gap:12px; margin-top:16px; }
.lc-step{ display:flex; flex-direction:column; align-items:center; width:min(170px,26vw); animation:lc-pop .6s cubic-bezier(.2,1.6,.4,1) both; }
.lc-step.p1{ animation-delay:.9s; } .lc-step.p2{ animation-delay:.5s; } .lc-step.p3{ animation-delay:.2s; }
.lc-step-av{ width:72%; } .lc-step-av .lc-av{ width:100%; display:block; animation:lc-jump 1.2s ease-in-out infinite; }
.lc-step.p1 .lc-step-av{ width:92%; }
@keyframes lc-jump{ 50%{ transform:translateY(-10px); } }
.lc-step-name{ font-family:'Righteous',sans-serif; font-size:18px; color:var(--lc-cream); background:var(--pc); border:3px solid var(--lc-choc); border-radius:999px; padding:1px 10px; margin:4px 0; }
.lc-step-block{ width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; font-family:'Shrikhand',cursive; font-size:44px; color:var(--lc-choc);
  background:linear-gradient(#ffd66b,var(--lc-mustard)); border:4px solid var(--lc-choc); border-radius:14px 14px 0 0; box-shadow:inset 0 -8px 0 rgba(0,0,0,.15); }
.lc-step-block small{ font-family:'Righteous',sans-serif; font-size:15px; }
.lc-step.p1 .lc-step-block{ height:150px; background:linear-gradient(#ffe9a0,#f5b82e); } .lc-step.p2 .lc-step-block{ height:108px; } .lc-step.p3 .lc-step-block{ height:76px; }
.lc-step.empty{ visibility:hidden; }
.lc-again{ margin-top:14px; text-align:left; max-width:640px; margin-left:auto; margin-right:auto; }
.lc-again summary{ cursor:pointer; font-family:'Righteous',sans-serif; color:var(--lc-mustard); }

/* ---------- pupitres des candidats ---------- */
.lc-desks{ display:flex; justify-content:center; align-items:flex-end; gap:10px; flex-wrap:wrap; padding-top:8px; }
.lc-desk{ position:relative; display:flex; flex-direction:column; align-items:center; width:clamp(78px,9vw,104px); transition:transform .2s; }
.lc-desk.me{ transform:translateY(-4px); }
.lc-desk.off{ filter:grayscale(.85) brightness(.7); }
.lc-desk-av{ width:78%; margin-bottom:-14px; position:relative; z-index:1; }
.lc-desk-av .lc-av{ display:block; width:100%; }
.lc-desk-body{ position:relative; width:100%; padding:16px 4px 6px; border:3px solid var(--lc-choc); border-radius:14px 14px 6px 6px; text-align:center;
  background:linear-gradient(var(--pc), color-mix(in srgb, var(--pc) 70%, #000)); clip-path:polygon(4% 0,96% 0,100% 100%,0 100%); box-shadow:inset 0 3px 0 rgba(255,255,255,.35); }
.lc-desk-name{ font-weight:900; font-size:12px; color:#fff; text-shadow:0 1px 0 var(--lc-choc); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lc-desk-score{ margin:3px auto 0; width:86%; font-family:'Righteous',sans-serif; font-size:20px; color:#ffb347; background:#1c0f24; border:2px solid var(--lc-choc); border-radius:8px; text-shadow:0 0 8px rgba(255,140,40,.8); }
.lc-desk-score.flip{ animation:lc-flip .5s; }
@keyframes lc-flip{ 0%{ transform:rotateX(90deg); } 100%{ transform:none; } }
.lc-desk-lamp{ position:absolute; top:4px; right:6px; width:10px; height:10px; border-radius:50%; background:#5a3a2a; border:2px solid var(--lc-choc); }
.lc-desk.answered .lc-desk-lamp{ background:#7dffb0; box-shadow:0 0 10px 3px #7dffb0; }
.lc-desk.answered .lc-desk-av .lc-av{ animation:lc-bump .35s; }
.lc-desk-gain{ position:absolute; top:-6px; left:50%; transform:translateX(-50%); z-index:3; font-family:'Shrikhand',cursive; font-size:26px; color:var(--lc-mustard); text-shadow:0 3px 0 var(--lc-choc); animation:lc-gainup 2.6s forwards; }
@keyframes lc-gainup{ 0%{ transform:translate(-50%,10px) scale(.4); opacity:0; } 15%{ transform:translate(-50%,-8px) scale(1.2); opacity:1; } 80%{ opacity:1; } 100%{ transform:translate(-50%,-40px); opacity:0; } }
.lc-bubble{ position:absolute; top:-18px; right:-10px; z-index:3; font-size:26px; width:42px; height:42px; display:grid; place-items:center; background:#fff; border:3px solid var(--lc-choc); border-radius:50%; animation:lc-bubble 1.6s forwards; }
@keyframes lc-bubble{ 0%{ transform:scale(0); } 15%{ transform:scale(1.2); } 25%,80%{ transform:scale(1); } 100%{ transform:translateY(-14px); opacity:0; } }
/* animations des mascottes : respiration + clignement */
.lc-av .lav-body{ transform-box:fill-box; transform-origin:50% 100%; animation:lc-breathe 2.8s ease-in-out infinite; }
.lc-av .lav-eyes{ transform-box:fill-box; transform-origin:50% 50%; animation:lc-blinkeye 4.2s infinite; }
.lc-desk:nth-child(2n) .lav-eyes{ animation-delay:1.5s; } .lc-desk:nth-child(3n) .lav-body{ animation-delay:.7s; }
.lc-av .lav-prop{ transform-box:fill-box; transform-origin:50% 50%; animation:lc-prop .6s linear infinite; }
@keyframes lc-breathe{ 50%{ transform:scale(1.03,.97); } }
@keyframes lc-blinkeye{ 0%,93%,100%{ transform:scaleY(1); } 96%{ transform:scaleY(.1); } }
@keyframes lc-prop{ 50%{ transform:scaleX(.15); } }

.lc-foot{ display:flex; justify-content:space-between; align-items:center; gap:10px; }
.lc-reacts{ display:flex; gap:6px; flex-wrap:wrap; }
.lc-react{ font-size:22px; width:42px; height:42px; border-radius:50%; border:3px solid var(--lc-choc); cursor:pointer; background:var(--lc-cream); box-shadow:0 3px 0 var(--lc-choc); transition:transform .1s; }
.lc-react:hover{ transform:scale(1.15) rotate(-8deg); } .lc-react:active{ transform:translateY(3px); box-shadow:none; }

/* effets plein écran */
.lc-fx{ position:fixed; inset:0; pointer-events:none; z-index:50; overflow:hidden; }
.lc-confetti{ position:fixed; top:-20px; width:11px; height:15px; background:var(--c); border-radius:3px; animation:lc-conf linear forwards; }
@keyframes lc-conf{ to{ transform:translate(var(--dx),110vh) rotate(var(--rz)); } }
.lc-float{ position:fixed; bottom:-40px; font-size:38px; animation:lc-floatup 2.6s ease-out forwards; }
@keyframes lc-floatup{ to{ transform:translateY(-70vh) rotate(20deg); opacity:0; } }

/* mobile */
@media (max-width:640px){
  body.lc-bg::before, body.lc-bg::after{ width:14px; border-width:3px; }
  .lc-room, .lc-home{ width:calc(100vw - 40px); }
  .lc-screen{ padding:14px 12px; max-height:none; }
  .lc-screen-frame{ padding:8px; border-radius:24px; }
  .lc-c-who{ flex-basis:100%; }
  .lc-c-row{ flex-wrap:wrap; }
  .lc-logo-mini{ display:none; }
  .lc-ed-stage{ flex-wrap:wrap; } /* mascotte au-dessus des flèches : côte à côte, ça dépassait de l'écran */
}
@media (prefers-reduced-motion:reduce){ body.lc-bg #app-bg::after, .lc-scene::before, .lc-scene::after, .lc-bulb, .lc-av *{ animation:none !important; } }
.lc-stars i{ font-style:normal; opacity:.25; }

/* réglage du son, version plateau télé : pilule crème, piste orange, curseur bouton bonbon */
body.lc-bg #audio-ctrl{ background:var(--lc-cream); border:3px solid var(--lc-choc); box-shadow:0 4px 0 var(--lc-choc); backdrop-filter:none; }
body.lc-bg #audio-ctrl input[type=range]::-webkit-slider-runnable-track{ height:6px; border-radius:3px; background:linear-gradient(90deg,var(--lc-teal),var(--lc-mustard),var(--lc-orange)); border:1px solid var(--lc-choc); }
body.lc-bg #audio-ctrl input[type=range]::-moz-range-track{ height:6px; border-radius:3px; background:linear-gradient(90deg,var(--lc-teal),var(--lc-mustard),var(--lc-orange)); }
body.lc-bg #audio-ctrl input[type=range]::-webkit-slider-thumb{ width:20px; height:20px; margin-top:-8px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#fff6c8,var(--lc-mustard) 60%); border:3px solid var(--lc-choc); }
body.lc-bg #audio-ctrl input[type=range]::-moz-range-thumb{ width:20px; height:20px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#fff6c8,var(--lc-mustard) 60%); border:3px solid var(--lc-choc); }
#lc-music-btn{ display:none; position:relative; background:none; border:none; font-size:18px; cursor:pointer; line-height:1; padding:0; }
body.lc-bg #lc-music-btn{ display:flex; color:var(--lc-choc); }
#lc-music-btn svg{ width:19px; height:19px; }
#lc-music-btn.off{ opacity:.45; }
#lc-music-btn.off::after{ content:''; position:absolute; left:-2px; right:-2px; top:50%; height:3px; border-radius:2px; background:var(--lc-orange, #e2552a); transform:rotate(-40deg); }
body.lc-bg #mute-btn{ color:var(--lc-choc); }

/* images des questions : drapeaux (vraies images, les émojis drapeaux ne s'affichent pas sous Windows) + portraits « Qui est-ce ? » */
.lc-q-img{ display:block; margin:10px auto 4px; max-width:min(280px,70vw); max-height:min(300px,34vh); object-fit:contain; border-radius:14px;
  border:4px solid var(--lc-choc); box-shadow:0 6px 0 var(--lc-choc); background:#fff; user-select:none; -webkit-user-drag:none; }
.lc-c-img{ display:block; max-width:120px; max-height:120px; object-fit:contain; border-radius:10px; border:3px solid var(--lc-choc); margin:6px 0; background:#fff; }
.lc-credit{ display:block; opacity:.7; font-size:11px; }
.lc-credit a{ color:inherit; }

/* ---------- 2026-10-14 : rébus en images, correcteur (verdicts, réponses à trancher), petit bac à 8 catégories ---------- */
.lc-rebus{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 10px; margin:10px auto 6px; }
.lc-rebus img{ width:min(190px,22vw); height:min(190px,22vw); object-fit:cover; border-radius:16px; border:4px solid var(--lc-choc); background:#fff; box-shadow:0 5px 0 var(--lc-choc); animation:lc-pop .5s cubic-bezier(.2,1.6,.4,1) both; }
.lc-rebus.n2 img{ width:min(220px,36vw); height:min(220px,36vw); }
.lc-rebus.n4 img{ width:min(150px,17vw); height:min(150px,17vw); }
.lc-rebus b{ font-family:'Shrikhand',cursive; font-size:clamp(22px,5vw,44px); color:var(--lc-mustard); }
.lc-c-img-rebus{ justify-content:flex-start; margin:6px 0; }
.lc-c-img-rebus img, .lc-c-img-rebus.n2 img, .lc-c-img-rebus.n4 img{ width:64px; height:64px; border-width:3px; border-radius:10px; box-shadow:none; animation:none; }
.lc-c-img-rebus b{ font-size:20px; color:var(--lc-orange); }
.lc-fam.reused{ background:#fff; border-style:dashed; }
.lc-c-bar{ position:sticky; top:0; z-index:3; display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; background:#7de0a6; color:var(--lc-choc); border:3px solid var(--lc-choc); border-radius:14px; padding:6px 12px; margin:8px 0 12px; font-weight:900; text-align:left; }
.lc-c-bar.todo{ background:var(--lc-mustard); }
.lc-c-totals{ margin-left:auto; display:flex; flex-wrap:wrap; gap:2px 12px; font-size:13px; }
.lc-c-total b{ font-family:'Righteous',sans-serif; }
.lc-c-row{ flex-wrap:wrap; }
.lc-c-row.todo{ background:#fff3c4; outline:3px dashed var(--lc-orange); border-radius:10px; padding:6px; }
.lc-c-why{ flex-basis:100%; font-size:12.5px; font-weight:700; opacity:.8; padding-left:38px; }
.lc-c-why.doubt{ color:#b3400d; opacity:1; }
.lc-c-edit{ margin-left:8px; font-style:normal; background:var(--lc-choc); color:var(--lc-cream); border-radius:999px; padding:1px 8px; font-size:11px; white-space:nowrap; }
.lc-c-pts small{ opacity:.6; font-size:12px; }
.lc-nb.nq.on, .lc-note.nq{ background:var(--lc-mustard); }
.lc-nb{ opacity:.6; } .lc-c-row.todo .lc-nb, .lc-c-bac-item.doubt .lc-nb{ opacity:1; }
.lc-c-bac-item.doubt{ outline:2px dashed var(--lc-orange); background:#fff3c4; }
.lc-c-bac-item i{ font-size:10.5px; font-style:normal; opacity:.75; }
.lc-c-all{ flex-basis:100%; }
.lc-c-scale{ font-style:italic; }
.lc-reopen{ display:block; margin:10px auto 0; }
.lc-go[disabled]{ opacity:.55; cursor:not-allowed; }
@media (max-width:560px){
  .lc-bac{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px; } .lc-bac label{ font-size:12px; } .lc-bac input{ font-size:16px; padding:6px 8px; min-width:0; }
  .lc-bac-letter{ width:60px; height:60px; font-size:40px; margin-bottom:4px; }
  .lc-c-why{ padding-left:0; } .lc-c-totals{ margin-left:0; }
}
