*{box-sizing:border-box}html{scroll-behavior:smooth;background:#fafafa}body{margin:0;background:radial-gradient(ellipse at 60% 40%,#fff,#f5f5f4);color:#252622;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}a{color:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}header{height:88px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between}.brand{font-size:28px;font-weight:500;letter-spacing:-1.8px;text-decoration:none}.nav{display:flex;gap:25px;align-items:center;font-size:13.5px;color:#77796f}.nav a{text-decoration:none}.nav a.current{color:#23251f}.overline,.m,.preuve{font:12px/1.6 ui-monospace,monospace;letter-spacing:.15em;text-transform:uppercase;color:#818679}h1{font-weight:350;font-size:clamp(49px,6.3vw,91px);letter-spacing:-.065em;line-height:1.02;margin:18px 0 23px;white-space:pre-line}h2{font-size:clamp(37px,4vw,60px);font-weight:350;letter-spacing:-.055em;line-height:1.03;margin:16px 0 22px}h3{font-weight:400;font-size:25px;letter-spacing:-.045em;margin:0 0 12px}p{font-size:15px;line-height:1.7;color:#73786c;max-width:560px}.solo{width:min(1240px,90%);margin:25px auto 0;min-height:calc(100svh - 185px);display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}.question-copy{padding:25px 0}.question-copy p{max-width:440px}.visual{position:relative;min-height:450px;display:flex;justify-content:center;align-items:center;isolation:isolate}.product{position:relative;width:min(440px,95%);height:400px;transform-origin:50% 100%;animation:arrive 1.4s cubic-bezier(.16,1,.3,1) both}.product img{width:100%;height:100%;object-fit:contain;display:block}.product .reflection{position:absolute;top:99%;left:0;transform:scaleY(-1);opacity:.09;mask-image:linear-gradient(to top,#000,transparent 35%)}.product:after{position:absolute;content:'';left:20%;right:20%;bottom:-5px;height:13px;background:radial-gradient(ellipse,#333b2920,transparent 70%)}.caption{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:12px;color:#9c9f96}.choices{display:flex;flex-wrap:wrap;gap:9px;margin:21px 0}.choice,.puce,.secondary{border:1px solid #d8dcd1;border-radius:25px;padding:12px 17px;background:#ffffff85;color:#34392e;font-size:13.5px;line-height:1.3;min-height:43px}.choice small{display:block;font-size:12px;color:#979b91;margin-top:4px}.choice.selected,.puce.on{background:#30362a;color:#fff;border-color:#30362a}.choice.selected small{color:#c9d0c1}.nothing{display:block;text-align:left;width:100%;border:1px solid #a6afa0;border-radius:17px;background:transparent;padding:17px 20px;margin:17px 0}.nothing strong{font-size:16px;font-weight:400}.nothing small{display:block;font-size:12.5px;line-height:1.65;color:#8c9185;margin-top:6px}.nothing.selected{background:#eff1eb}.primary,.btn{display:inline-flex;justify-content:center;align-items:center;gap:35px;padding:17px 24px;border:0;border-radius:40px;background:#272d22;color:#fff;font-size:13.5px;line-height:1.3;text-decoration:none;min-height:49px}.btn{margin:15px 0}.btn.sec{background:transparent;border:1px solid #a9afa1;color:#343b2c}.links{display:flex;flex-wrap:wrap;gap:18px;font-size:12.5px;margin-top:18px}.text-button{border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:3px;color:#757c6c;font-size:12.5px}.progress{display:flex;gap:8px;align-items:center;margin-top:27px}.progress i{height:4px;width:4px;border-radius:50%;background:#d8ddd1}.progress i.on{background:#748665}.progress span{font-size:12px;color:#949b8a;margin-left:8px}.help{font-size:12.5px;color:#79886b;line-height:1.7;margin-top:12px}.warning,.prec,.alerte{font-size:13.5px;line-height:1.65;color:#786449;margin:12px 0;max-width:750px}.fine{font-size:12.5px;line-height:1.65;color:#8a9080}footer{padding:23px 5.5%;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#8e9385;gap:20px}.notice{max-width:1240px;margin:0 auto;padding:0 20px;text-align:center;font-size:12px;color:#93998b;line-height:1.6}.accordion,details{margin:14px 0;font-size:13.5px;line-height:1.7}summary{cursor:pointer;color:#68785a}details p{font-size:13.5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #7d926b;outline-offset:5px}.dictation{font-size:13.5px;line-height:1.6;color:#59654d;padding:12px 0;border-top:1px solid #e5e8df}.consent{font-size:14.5px;line-height:1.7;color:#656e5b;margin-bottom:16px}.allergy-layout{width:min(1250px,90%);margin:40px auto;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.allergy-layout .choices{max-width:560px}.allergy-layout h1{font-size:75px}.allergy-layout .visual{min-height:300px}.allergy-layout .product{height:300px}.other-list{max-height:230px;overflow:auto;padding:10px 4px;border-top:1px solid #e1e5da}.allergy-controls{grid-column:1/-1}.scan-layout{width:min(1250px,90%);margin:20px auto 35px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;min-height:calc(100svh - 180px)}.camera{position:relative;aspect-ratio:4/5;max-height:680px;border-radius:28px;background:linear-gradient(140deg,#e7e9e2,#f3f4ef);overflow:hidden}.camera video,.camera img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.camera video{transform:scaleX(-1)}.camera .oval{position:absolute;inset:13% 20%;border:1px solid #ffffffb0;border-radius:50%;pointer-events:none}.camera-label{position:absolute;bottom:20px;left:20px;right:20px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#30362a75;border-radius:20px;padding:12px 18px}.camera .scanline{position:absolute;left:10%;right:10%;height:1px;background:#fff;top:30%;box-shadow:0 0 25px 7px #fff2;animation:scanline 3.3s ease-in-out infinite alternate}.camera.idle .scanline{display:none}.live-status{border-top:1px solid #dbe0d2;margin-top:25px;padding:15px 0}.live-status .phase{font-size:15px;line-height:1.6}.meters{display:grid;gap:13px;margin:25px 0}.meter{display:grid;grid-template-columns:110px 1fr 40px;gap:10px;align-items:center;font-size:13.5px}.meter .track{height:2px;background:#e0e5d9}.meter .track b{height:100%;display:block;background:#6e835b}.frame-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.frame-actions input{display:none}.composition{position:relative;min-height:calc(100svh - 170px);overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;padding:185px 20px}.composition-copy{position:relative;z-index:20;max-width:750px}.composition h1{font-size:clamp(48px,5.5vw,78px)}.composition-copy p{margin:auto;max-width:450px}.stage{position:absolute;inset:0;pointer-events:none;isolation:isolate}.moving-fruit{position:absolute;left:50%;top:0;width:165px;height:165px;will-change:transform,opacity}.moving-fruit img{width:100%;height:100%;object-fit:contain;display:block}.moving-fruit .reflection{position:absolute;top:100%;left:0;transform:scaleY(-1);opacity:.09;mask-image:linear-gradient(to top,#000,transparent 35%)}.moving-fruit:after{content:'';position:absolute;left:22%;right:22%;bottom:-10px;height:12px;background:radial-gradient(ellipse,#252d2025,transparent 70%)}.landing{display:flex;justify-content:center;gap:16px;margin:25px auto 0;min-height:105px}.landing .slot{width:85px;font-size:12px;color:#69745d;opacity:.28;transform:translateY(20px);transition:transform 1s cubic-bezier(.16,1,.3,1),opacity .8s}.landing .slot.arrived{transform:none;opacity:1}.landing .slot img{width:85px;height:85px;object-fit:contain}.trace{font:12px/1.8 ui-monospace,monospace;color:#969e8b;margin:15px 0}.wheel{height:210px;overflow:hidden;position:relative;width:400px;max-width:90vw;margin:28px auto 0;mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}.wheel:after{content:'';position:absolute;top:80px;left:0;right:0;height:50px;border-top:1px solid #bac4ae;border-bottom:1px solid #bac4ae}.wheel-track{will-change:transform}.wheel-row{height:50px;display:flex;justify-content:center;align-items:center;gap:14px;font-size:17px;font-weight:350}.wheel-row img{width:43px;height:43px;object-fit:contain}.results{width:min(1230px,90%);margin:38px auto 0}.result-head{display:flex;justify-content:space-between;align-items:end;gap:60px}.result-head p{max-width:350px}.result-head h1{font-size:clamp(61px,7.6vw,110px);margin-bottom:0}.result-grid{display:grid;grid-template-columns:1.14fr .86fr;gap:20px;margin:40px 0 24px}.paper{border:1px solid #dfe3d7;border-radius:27px;background:linear-gradient(140deg,#fff,#f8f9f5);padding:28px;overflow:hidden}.hero-food{height:385px;position:relative;display:flex;justify-content:center;align-items:center}.hero-food .product{height:285px;width:300px}.list-food{display:flex;gap:18px;align-items:center;padding:17px 0;border-top:1px solid #e6eadf;text-decoration:none;font-size:15px}.list-food img{width:66px;height:66px;object-fit:contain}.list-food strong{font-weight:450}.list-food small{font-size:12.5px;color:#89917e;display:block;line-height:1.6;margin-top:5px}.list-food em{margin-left:auto;font:12px ui-monospace,monospace;color:#91a07f}.signals{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:30px}.signals article{border-top:1px solid #8e9b7e;padding-top:12px}.signals b{font-size:28px;letter-spacing:-1px;font-weight:350}.signals p{font-size:12.5px}.filterbar{display:flex;gap:9px;overflow:auto;padding:12px 0;align-items:center;scrollbar-width:none}.filterbar>*{flex:none}.filterbar select{min-height:43px;border:1px solid #d8dfcd;border-radius:25px;padding:9px 13px;background:#fff;color:#4a583e;font-size:13.5px}.filter-panel{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 20px}.food-detail{display:grid;grid-template-columns:260px 1fr;gap:60px;padding:55px 0;border-top:1px solid #d5ddca}.food-detail .visual{min-height:220px;align-self:start;position:sticky;top:50px}.food-detail .product{width:230px;height:220px}.food-detail h3{font-size:44px;font-weight:350;letter-spacing:-.055em}.food-detail p{font-size:14.5px}.food-detail .prec{font-size:13.5px;color:#826c50}.food-detail .alleg{border-left:1px solid #9cac88;padding-left:16px;margin:20px 0;font-size:14.5px;line-height:1.7;max-width:580px}.portion-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:25px 0}.portion-grid p{font-size:13.5px}.nutrition-table{width:100%;border-collapse:collapse;margin-top:12px;color:#748163;font-size:12.5px}.nutrition-table td{border-bottom:1px solid #e3e8dc;padding:5px 8px}.page-links{display:flex;flex-wrap:wrap;gap:15px;margin:25px 0;font-size:12.5px;color:#76876a}.section{padding:45px 0;border-top:1px solid #d5ddca;scroll-margin-top:25px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.section .rit{display:flex;gap:20px;margin:20px 0;padding:22px 0;border-bottom:1px solid #e0e6d6}.rit>i{font:12px ui-monospace,monospace;color:#879975;min-width:23px;font-style:normal}.rit>div{min-width:0;flex:1}.rit p{font-size:14.5px}.rit .sous{font-size:12.5px;color:#89977c}.rit .preuve{font-size:12.5px;line-height:1.7;max-width:720px}.rit details a{display:block;max-width:720px;color:#738363;font-size:12.5px;margin:10px 0}.puces{display:flex;flex-wrap:wrap;gap:9px}.prem{background:#f0f3ea;border-radius:27px;padding:28px}.prem .m,.prem p,.prem .preuve,.prem .alleg,.prem .prec{color:#657452!important}.prem h2{color:#2d3823}.prem .rit{border-color:#d2dec4}.prod{display:flex;align-items:center;gap:18px;padding:12px 0;text-decoration:none;font-size:13.5px}.prod img{width:65px;height:70px;object-fit:contain}.prod span{line-height:1.6}.prod b{display:block;font-size:12px;letter-spacing:.08em}.memory{padding:30px;border-radius:24px;background:#f1f4ed}.memory label{display:flex;align-items:start;gap:14px;font-size:14.5px;line-height:1.7}.memory input{accent-color:#6c8158;width:19px;height:19px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#333c29;color:white;border-radius:30px;padding:15px 20px;font-size:13.5px;z-index:100;display:flex;gap:15px;max-width:90vw}.toast button{border:0;background:none;color:#d4e4c4;font-size:13.5px}.result-solo .result-grid{grid-template-columns:1fr}.result-solo .list-panel{display:none}.result-solo .hero-food{height:390px}.result-solo .hero-food .product{height:315px;width:350px}.result-solo .hero-tabs{display:flex;justify-content:center;gap:9px;padding:15px}.result-solo .hero-tabs button{background:none;border:0;font-size:12.5px;color:#8b9a7b;padding:8px}.result-solo .hero-tabs button.on{color:#313e25;border-bottom:1px solid #6e815d}.result-solo .hero-name{position:absolute;left:35px;bottom:25px;font-size:25px;font-weight:350;letter-spacing:-.04em}.gallery{width:min(1260px,90%);margin:30px auto}.gallery h1{font-size:90px}.gallery .intro{max-width:580px}.gallery .step{padding:35px 0;border-top:1px solid #d7decd}.gallery .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery .card{color:inherit;text-decoration:none}.gallery .card img{width:100%;aspect-ratio:1440/1000;object-fit:cover;object-position:top;border-radius:12px;border:1px solid #dfe5d5;display:block}.gallery .card h3{font-size:22px;margin:17px 0 7px}.gallery .card p{font-size:13.5px}.gallery .step>p{max-width:650px}.busy{width:min(1240px,90%);margin:100px auto}dialog{border:1px solid #d6e0ca;border-radius:25px;width:min(680px,90vw);max-height:80vh;padding:30px;background:#fcfdf9;color:#35422a}dialog::backdrop{background:#35422a50;backdrop-filter:blur(7px)}dialog li{font-size:12.5px;line-height:1.8;border-top:1px solid #e5eadf;padding:12px 0}dialog ul{padding:0;list-style:none}dialog .close{float:right}.error{color:#926a49;font-size:14.5px;padding:15px 0}img{max-width:100%}@keyframes arrive{from{opacity:0;transform:translateY(35px) scale(.93)}to{opacity:1;transform:none}}@keyframes scanline{to{top:75%}}
@media(max-width:650px){header{height:70px;padding:0 24px}.nav{gap:17px;font-size:12.5px}.solo{display:flex;flex-direction:column;gap:0;width:calc(100% - 48px);margin:12px auto;min-height:calc(100svh - 155px);justify-content:center;align-items:stretch}.question-copy{padding:16px 0 0}.question-copy h1{font-size:48px;margin:13px 0 16px}.question-copy p{font-size:13.5px;line-height:1.65}.solo .visual{display:none}.solo.preference .visual{display:flex;min-height:240px;order:-1}.solo.preference .visual .product{height:200px;width:230px}.solo.preference .question-copy{padding-bottom:20px}.choice{font-size:12.5px;padding:11px 13px}.choices{gap:7px;margin:18px 0}.nothing{padding:15px 16px;margin:14px 0}.nothing small{font-size:12px}.primary{font-size:13.5px;padding:16px 22px}.progress{margin-top:20px}footer{padding:20px 24px;font-size:12.5px}.notice{font-size:12.5px;padding:0 24px}.help{font-size:12px}.dictation{font-size:12.5px}.links{font-size:12px;gap:14px}.allergy-layout{display:block;width:calc(100% - 48px);margin:22px auto}.allergy-layout .visual{display:none}.allergy-layout h1{font-size:48px}.allergy-layout .choice{min-height:39px;padding:10px 13px;font-size:12px}.allergy-layout .choices{gap:7px}.allergy-layout p{font-size:13.5px}.consent{font-size:13.5px;line-height:1.7}.consent-view h1{font-size:47px}.scan-layout{display:flex;flex-direction:column;gap:25px;width:calc(100% - 48px);margin:15px auto;min-height:auto;align-items:stretch}.camera{aspect-ratio:1.2;height:280px;border-radius:22px}.camera img,.camera video{object-position:center 35%}.camera .oval{inset:6% 27%}.scan-copy h1{font-size:47px;margin-top:12px}.scan-copy p{font-size:13.5px}.live-status{margin-top:17px}.frame-actions{gap:10px}.frame-actions .secondary{font-size:12px;padding:10px 12px}.meters{margin:17px 0}.composition{padding:165px 20px;min-height:calc(100svh - 145px)}.composition h1{font-size:45px}.composition-copy p{font-size:13.5px;max-width:300px}.moving-fruit{width:125px;height:125px}.landing{gap:5px;margin-top:20px;min-height:90px}.landing .slot{width:75px}.landing .slot img{width:75px;height:75px}.trace{font-size:12.5px}.results{width:calc(100% - 48px);margin-top:24px}.result-head{display:block}.result-head h1{font-size:61px}.result-head p{font-size:13.5px;margin-top:20px}.result-grid{grid-template-columns:1fr;gap:14px;margin:25px 0 22px}.paper{padding:22px;border-radius:22px}.hero-food{height:270px}.hero-food .product{height:200px;width:235px}.list-food{padding:12px 0;font-size:13.5px}.list-food img{width:52px;height:52px}.list-food small{font-size:12px}.signals{gap:15px}.signals b{font-size:23px}.signals p{font-size:12.5px}.signals .overline{font-size:12.5px}.filterbar select,.filterbar .choice{font-size:12px;padding:10px 12px}.food-detail{display:block;padding:35px 0}.food-detail .visual{position:relative;top:auto;min-height:180px;margin-bottom:30px}.food-detail .product{height:160px;width:210px}.food-detail h3{font-size:34px}.portion-grid{gap:20px}.food-detail .prec{font-size:12.5px}.food-detail p{font-size:13.5px}.section{padding:35px 0}h2{font-size:39px}.section .rit{gap:12px}.rit h3{font-size:23px}.rit p{font-size:13.5px}.rit .sous{font-size:12px}.rit .preuve{font-size:12.5px}.prem{padding:24px 20px;border-radius:22px}.prem h2{font-size:39px}.memory{padding:22px}.memory label{font-size:13.5px}.gallery{width:calc(100% - 48px)}.gallery h1{font-size:58px}.gallery .cards{grid-template-columns:1fr}.gallery .step{padding:25px 0}.result-solo .hero-food{height:310px}.result-solo .hero-food .product{height:225px;width:270px}.result-solo .hero-name{font-size:21px;left:20px;bottom:18px}.result-solo .hero-tabs{flex-wrap:wrap}.result-solo .hero-tabs button{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.moving-fruit{will-change:auto}}

@media(max-width:650px){.solo:not(.preference) .visual{display:flex;min-height:110px;order:-1;justify-content:flex-end;margin-bottom:-10px}.solo:not(.preference) .visual .product{height:110px;width:135px}.solo.consent-view .visual{min-height:90px}.solo.consent-view .visual .product{height:90px;width:110px}.allergy-layout section:first-child .visual{display:flex;min-height:80px;height:80px;justify-content:flex-end;margin-top:-80px;pointer-events:none}.allergy-layout section:first-child .product{height:90px;width:110px}.allergy-layout section:first-child h1{padding-right:110px}.solo .visual .caption{display:none}}

.landing .slot{opacity:0;transform:translate(-90px,-160px) scale(.85)}.landing .slot:nth-child(even){transform:translate(90px,160px) scale(.85)}.landing .slot.arrived{transform:translate(0,0) scale(1);opacity:1}.landing .slot{transition:transform 1.1s cubic-bezier(.2,1.15,.3,1),opacity .6s}

.pair-visual{display:flex;justify-content:flex-start;align-items:center;gap:65px;margin:25px 0}.pair-visual img{height:170px;width:170px;object-fit:contain}.pair-visual img+img{height:160px;width:110px}@media(max-width:650px){.solo{min-height:calc(100svh - 175px);margin:0 auto}.solo:not(.preference) .visual{min-height:85px}.solo:not(.preference) .visual .product{height:85px;width:110px}.pair-visual{gap:35px}.pair-visual img{height:115px;width:115px}.pair-visual img+img{height:115px;width:75px}}

.landing .slot{position:relative}.landing .slot>.reflection{position:absolute;top:85px;left:0;transform:scaleY(-1);opacity:.08;mask-image:linear-gradient(to top,#000,transparent 38%);pointer-events:none}@media(max-width:650px){.landing .slot>.reflection{top:75px}}
/* 30/09 : passage automatique a l'ecran suivant (une fine barre qui se remplit apres chaque choix) */
.auto-bar{height:2px;width:min(320px,100%);margin:22px 0 4px;background:#e4e5df;border-radius:2px;overflow:hidden;opacity:0;transition:opacity .3s}
.auto-bar i{display:block;height:100%;width:0;background:#30362a}
.auto-bar.run{opacity:1}.auto-bar.run i{animation:autobar var(--d,1700ms) linear forwards}
@keyframes autobar{to{width:100%}}
@media (prefers-reduced-motion:reduce){.auto-bar.run i{animation-duration:1ms}}
/* 30/09 : mots forts, surlignes au defilement (un trait champagne qui se dessine) */
b.hl{font-weight:600;color:#1f2419;background-image:linear-gradient(transparent 62%,rgba(214,176,112,.38) 62%,rgba(214,176,112,.38) 92%,transparent 92%);background-repeat:no-repeat;background-size:0% 100%;transition:background-size .9s cubic-bezier(.2,.8,.2,1)}
b.hl.vu{background-size:100% 100%}
.pourquoi{font-size:17px}
.lien-peau{margin:18px 0 6px;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,rgba(214,176,112,.12),rgba(255,255,255,.6));border:1px solid rgba(214,176,112,.35)}
.lien-peau p{margin:8px 0 0}
.lien-peau .allegation{display:inline-block;margin-top:4px;font-style:italic;color:#3a3f33}
details.etudes[open] summary{margin-bottom:6px}
/* les aliments respirent : un leger flottement */
.visual .product,.food-detail .visual .product,.list-panel img,.slot img{animation:flotte 5.5s ease-in-out infinite}
.food-detail:nth-child(2n) .visual .product{animation-delay:-2.2s}
@keyframes flotte{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(-1.2deg)}}
@media (prefers-reduced-motion:reduce){.visual .product,.list-panel img,.slot img{animation:none}b.hl{transition:none;background-size:100% 100%}}
/* plus de ligne horizontale sur la camera : la cartographie suffit */
.camera .scanline{display:none!important}
/* 30/09 : pendant la lecture, a droite, les mesures en direct */
.live-panel:empty{display:none}
.live-panel{margin:18px 0 8px;padding:18px 20px;border-radius:20px;background:#fff;border:1px solid #e6e7e1;box-shadow:0 20px 50px -34px rgba(0,0,0,.35);font-variant-numeric:tabular-nums}
.live-panel .lv{display:grid;grid-template-columns:118px 92px 1fr auto;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid #f0f0ec;font-size:14px}
.live-panel .lv span{color:#6b6f66}.live-panel .lv b{font:500 14px 'IBM Plex Mono',ui-monospace,monospace;color:#1f2419}
.live-panel .lv i{height:3px;border-radius:3px;background:linear-gradient(90deg,#d6b070 var(--p),#ecece6 var(--p));transition:background .3s}
.live-panel .lv em{font-style:normal;font-size:12.5px;color:#8a8e82;text-align:right}
.live-panel .lz{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.live-panel .lz div{padding:12px;border-radius:14px;background:#f6f6f2;display:flex;flex-direction:column;gap:3px}
.live-panel .lz span{font-size:12.5px;color:#6b6f66;margin-bottom:3px}.live-panel .lz b{font:500 13px 'IBM Plex Mono',ui-monospace,monospace;color:#1f2419}
.frame-actions.en-direct .primary,.frame-actions.en-direct .secondary:not(label){display:none}
.frame-actions.en-direct label{border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:3px;color:#6b6f66;min-height:0}
@media (max-width:700px){.live-panel .lv{grid-template-columns:96px 80px 1fr;}.live-panel .lv em{grid-column:1/-1;text-align:left;margin-top:-4px}}
/* 30/09 : recettes, une composition des vrais ingredients en guise de photo */
.rit.rec{align-items:center}
.rec-visu{position:relative;flex:none;width:150px;height:110px;margin:0 20px 0 6px}
.rec-visu img{position:absolute;width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(40,30,15,.18));animation:flotte 6s ease-in-out infinite;animation-delay:calc(var(--k)*-1.3s)}
.rec-visu img:nth-child(1){left:36px;top:6px;width:84px;height:84px;z-index:3}
.rec-visu img:nth-child(2){left:0;top:34px;z-index:2}
.rec-visu img:nth-child(3){left:84px;top:38px;z-index:4}
.rec-visu img:nth-child(4){left:52px;top:52px;width:56px;height:56px;z-index:5}
.rec-visu.n1 img{left:30px;top:4px;width:100px;height:100px}
.rec-acc{margin:6px 0 8px;font-size:16px;line-height:1.55;color:#3a3f33;max-width:640px}
@media (max-width:700px){.rit.rec{flex-wrap:wrap}.rec-visu{width:130px;height:96px;margin:6px 0 4px}}
/* 30/09 : le COMBO remonte juste sous l'assiette et prend de la place */
#combos{margin-top:28px;padding:34px clamp(18px,4vw,48px);border-radius:32px;background:linear-gradient(145deg,#faf7f0,#f1efe8);border:1px solid #ebe3d2}
#combos .pair-visual{display:flex;align-items:center;gap:6px;margin:10px 0}
#combos .pair-visual img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 14px 14px rgba(40,30,15,.2));animation:flotte 6s ease-in-out infinite}
#combos .pair-visual img:nth-child(2){animation-delay:-2.5s}
#combos .pair-visual img+img::before{content:'+'}
/* la fenetre sombre du moteur de lecture n'a pas sa place ici : la raison s'affiche dans la page */
#vyvre-v9-reject{display:none!important}
.rit.rec{display:grid!important;grid-template-columns:34px 170px minmax(0,1fr);gap:0 18px;align-items:start}
.rit.rec > i{grid-column:1}.rit.rec .rec-visu{grid-column:2;margin:0}.rit.rec > div:last-child{grid-column:3}
@media (max-width:700px){.rit.rec{grid-template-columns:28px minmax(0,1fr)}.rit.rec .rec-visu{grid-column:2;margin-bottom:6px}.rit.rec > div:last-child{grid-column:2}}
/* 30/09 : pendant la lecture, la recherche des aliments en direct */
.recherche{margin:14px 0 8px;padding:18px 20px;border-radius:20px;background:linear-gradient(160deg,#fff,#f6f5ef);border:1px solid #e6e7e1}
.roue-live{position:relative;height:190px;overflow:hidden;margin:6px 0 10px;-webkit-mask-image:linear-gradient(transparent,#000 28%,#000 72%,transparent);mask-image:linear-gradient(transparent,#000 28%,#000 72%,transparent)}
.roue-live .rl{position:absolute;left:0;right:0;top:50%;height:38px;display:flex;align-items:center;gap:12px;transform:translateY(calc(-50% + var(--n)*38px)) scale(calc(1 - (var(--n)*var(--n))*.06));opacity:calc(1 - (var(--n)*var(--n))*.2);transition:transform .45s cubic-bezier(.2,.9,.3,1),opacity .45s;color:#6b6f66;font-size:15px}
.roue-live .rl img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 6px 6px rgba(0,0,0,.15))}
.roue-live .rl.on{color:#1f2419;font-weight:600}.roue-live .rl.on img{width:40px;height:40px}
.roue-live .rl em{margin-left:auto;font-style:normal;font:500 12.5px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#a07f45;background:rgba(214,176,112,.16);padding:4px 8px;border-radius:999px}
.roue-live::before,.roue-live::after{content:'';position:absolute;left:0;right:0;height:1px;background:#e3e2d8;top:calc(50% - 20px)}.roue-live::after{top:calc(50% + 20px)}
.recherche .compte{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13.5px;color:#6b6f66}.recherche .compte b{font:500 14px 'IBM Plex Mono',monospace;color:#1f2419;margin-right:4px}
/* 30/09 : pendant la lecture, tout tient a l'ecran : titre plus court, camera fixe en haut */
@media (min-width:900px){.scan-layout{align-items:start!important}.scan-layout .camera{position:sticky;top:96px}}
.scan-layout.en-lecture h1{font-size:clamp(34px,3.4vw,54px)!important;line-height:1.02}
.scan-layout.en-lecture .scan-copy > p:not(.fine){display:none}
.scan-layout.en-lecture .live-status{margin-top:10px}
/* 01/10 : quelle eau ? */
#eaux .eau-g{margin:26px 0 10px;font-size:15px;font-weight:600;letter-spacing:.02em;color:#3a3f33}
.eaux{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.eau{padding:18px 18px 14px;border-radius:20px;background:linear-gradient(170deg,#fff,#f6f7f4);box-shadow:inset 0 0 0 1px #e8e9e3,0 18px 40px -32px rgba(0,0,0,.35)}
.eau-t{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.eau-t h3{font-size:21px;letter-spacing:-.02em}
.eau-t span{font-size:12.5px;color:#8a8e82;white-space:nowrap}
.eau-a{margin:8px 0 10px;color:#4a4f44;font-size:14.5px;line-height:1.5}
.eau-c{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;margin-bottom:10px}
.eau-c div{padding:8px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #eeeee8}
.eau-c b{display:block;font:500 16px 'IBM Plex Mono',ui-monospace,monospace;color:#1f2419}
.eau-c small{font-size:12px;color:#8a8e82}
.eau-m{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.eau-m span{font-size:12px;padding:4px 9px;border-radius:999px;background:rgba(214,176,112,.16);color:#8a6a35}
/* 01/10 : pendant la lecture, quatre cases qui se remplissent a chaque etape */
.revele{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 12px}
.rv{aspect-ratio:1;border-radius:14px;background:#f4f3ee;display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #e8e6dd}
.rv i{width:40%;height:40%;border-radius:50%;background:linear-gradient(90deg,#ecebe4,#f7f6f1,#ecebe4);background-size:200% 100%;animation:attente 1.4s linear infinite}
@keyframes attente{to{background-position:-200% 0}}
.rv.on{background:#fff;box-shadow:inset 0 0 0 1px rgba(214,176,112,.45),0 12px 26px -18px rgba(0,0,0,.35);animation:apparait .6s cubic-bezier(.2,1.3,.3,1)}
.rv.on img{width:62%;height:62%;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(0,0,0,.18))}
.rv.on span{position:absolute;bottom:6px;left:4px;right:4px;text-align:center;font-size:11.5px;color:#4a4f44;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes apparait{from{transform:scale(.6);opacity:0}}
/* les eaux choisies */
.eaux-choix{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.choix-eau .raison{margin:4px 0 10px;color:#4a4f44;font-size:14.5px}
.toutes-eaux{margin-top:22px}.toutes-eaux summary{cursor:pointer;font-weight:600;color:#3a3f33}

/* 07/10 : la jauge du choix par defaut (2 s, apres 0,9 s de lecture) */
.nothing.defaut,.choice.defaut{position:relative;overflow:hidden;isolation:isolate}
.nothing.defaut::before,.choice.defaut::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(48,54,42,.14);transform:scaleX(0);transform-origin:left center;animation:vyDefaut 2s linear .9s forwards}
@keyframes vyDefaut{to{transform:scaleX(1)}}

/* 07/10 : les tiroirs de fin d'assiette */
#continuation .section.tiroir-s,#continuation #combos.tiroir-s{padding:0;margin:0;border:0;border-radius:0;background:none}
#continuation #combos.tiroir-s{margin-top:28px}
details.tiroir{border-top:1px solid #e4e5df}
#trends details.tiroir{border-bottom:1px solid #e4e5df}
details.tiroir>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:24px;row-gap:6px;padding:28px 0}
details.tiroir>summary::-webkit-details-marker{display:none}
.tiroir-t{font-size:clamp(24px,3vw,34px);letter-spacing:-.035em;line-height:1.05;color:#252622}
.tiroir-l{grid-column:1;font-size:14px;color:#77796f}
details.tiroir>summary i{grid-column:2;grid-row:1/span 2;width:34px;height:34px;border:1px solid #d6d7cf;border-radius:50%;position:relative;transition:transform .3s,background .3s}
details.tiroir>summary i::before,details.tiroir>summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:#30362a;transform:translate(-50%,-50%)}
details.tiroir>summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .3s}
details.tiroir[open]>summary i{background:#30362a}
details.tiroir[open]>summary i::before{background:#fff}details.tiroir[open]>summary i::after{opacity:0}
details.tiroir>summary:hover .tiroir-t{opacity:.75}
.tiroir-in{padding:4px 0 40px}
.tiroir-in .tiroir-h{display:none}

/* 07/10 : pourquoi cette assiette (trois niveaux, mesure, preuves) */
.decision{margin:34px 0 8px;padding:26px 0 4px;border-top:1px solid #d5ddca;max-width:760px}
.decision .m{font:500 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.22em;text-transform:uppercase;color:#77796f}
.decision ol{list-style:none;margin:14px 0 0;padding:0}
.decision li{display:grid;grid-template-columns:auto 1fr;column-gap:14px;padding:12px 0;border-bottom:1px solid #e4e5df}
.decision li b{font-weight:500;font-size:18px;letter-spacing:-.01em}
.decision li span{text-align:right;font-size:14px;color:#55574e}
.decision li small{grid-column:1/-1;font-size:12.5px;color:#8b8d83;margin-top:3px}
.decision .dec-prioritaire span{color:#a2401f}.decision .dec-surveiller span{color:#8a6a1f}
.decision .dec-zone{margin:14px 0 0;color:#55574e}.decision .dec-seuil{margin:12px 0 0;font-size:12px;color:#9a9c92}

/* ===================================================================================================
   08/10 (Charles : « ça doit tenir sur une page ») : les écrans avant l'assiette tiennent dans la fenêtre,
   sans défilement. Typographie et espacements qui dépendent aussi de la hauteur, visuels dimensionnés sur
   la place restante, l'action principale toujours visible. La classe body.un-ecran est posée par parcours.js.
   =================================================================================================== */
body.un-ecran{--haut:clamp(50px,9.4vh,88px);--pv:clamp(6px,1.5vh,23px);--gv:clamp(6px,1.5vh,25px);min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
body.un-ecran>header{flex:none;height:var(--haut)}
body.un-ecran #app{flex:1 0 auto;display:flex;flex-direction:column}
body.un-ecran #app>main{flex:1 0 auto;overflow:clip}  /* les reflets des fruits ne creent pas de defilement */
body.un-ecran #disclaimer{flex:none}
body.un-ecran .notice{font-size:12px;line-height:1.45}
body.un-ecran>footer{flex:none;padding-top:var(--pv);padding-bottom:var(--pv)}
body.un-ecran .links:empty,body.un-ecran .error:empty{display:none}
/* les questions */
body.un-ecran .solo{margin:0 auto;min-height:0;padding:var(--gv) 0;gap:clamp(30px,5vw,70px)}
body.un-ecran .question-copy{padding:0}
body.un-ecran .solo h1{font-size:clamp(36px,min(6.3vw,7.6vh),91px);margin:clamp(4px,1.3vh,18px) 0 clamp(6px,1.7vh,23px)}
body.un-ecran .question-copy p{line-height:1.55}
body.un-ecran .choices{margin:clamp(8px,1.9vh,21px) 0;gap:clamp(6px,1vh,9px)}
body.un-ecran .choice{padding:clamp(7px,1.3vh,12px) 15px;min-height:0}
body.un-ecran .choice small{margin-top:2px}
body.un-ecran .nothing{padding:clamp(9px,1.6vh,17px) 20px;margin:clamp(6px,1.5vh,17px) 0}
body.un-ecran .nothing small{margin-top:3px;line-height:1.5}
body.un-ecran .help{margin-top:clamp(4px,1vh,12px);line-height:1.55}
body.un-ecran .dictation{padding:clamp(5px,1vh,12px) 0;line-height:1.5}
body.un-ecran .auto-bar{margin:clamp(8px,1.6vh,22px) 0 2px}
body.un-ecran .pied{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;margin-top:clamp(8px,1.7vh,18px)}
body.un-ecran .pied>.links,body.un-ecran .pied>.frame-actions,body.un-ecran .pied>.progress{margin:0}
body.un-ecran .solo .visual{min-height:0}
body.un-ecran .solo .product{height:min(400px,50vh);width:min(440px,95%)}
body.un-ecran .consent{line-height:1.6;margin-bottom:clamp(8px,1.5vh,16px)}
body.un-ecran .consent-view .question-copy p.consent{max-width:540px}
body.un-ecran .consent-view .links{margin-top:clamp(6px,1.4vh,18px)}
body.un-ecran .solo .fine{margin:clamp(6px,1.4vh,14px) 0 0}
body.un-ecran .solo details{margin:clamp(4px,1vh,14px) 0 0}
body.un-ecran .solo .frame-actions{margin-top:clamp(10px,2vh,20px)}
/* les allergies */
body.un-ecran .allergy-layout{margin:0 auto;padding:var(--gv) 0;gap:clamp(30px,4vw,55px)}
body.un-ecran .allergy-layout h1{font-size:clamp(36px,min(5.2vw,8vh),75px);margin:clamp(4px,1.3vh,18px) 0 clamp(6px,1.6vh,23px)}
body.un-ecran .allergy-layout .visual{min-height:0}
body.un-ecran .allergy-layout .product{height:min(300px,34vh)}
body.un-ecran .allergy-layout .choices{margin-top:0}
body.un-ecran .other-list{max-height:clamp(110px,22vh,230px)}

/* la lecture : la camera prend la hauteur disponible, la consigne et les boutons juste dessous du titre, puis le bloc en direct */
body.un-ecran .scan-layout{margin:0 auto;min-height:0;padding:var(--gv) 0;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,3.6vw,70px);align-items:center!important}
body.un-ecran .scan-layout .camera{position:relative;top:auto;height:min(680px,calc(100vh - var(--haut) - 2*var(--pv) - 2*var(--gv) - 36px));height:min(680px,calc(100svh - var(--haut) - 2*var(--pv) - 2*var(--gv) - 36px));width:auto;max-width:46vw;aspect-ratio:4/5;max-height:none}
body.un-ecran .scan-copy h1{font-size:clamp(34px,min(5vw,7.6vh),91px);margin:clamp(4px,1.2vh,18px) 0 clamp(6px,1.5vh,23px)}
body.un-ecran .scan-layout.en-lecture h1{font-size:clamp(26px,min(3.4vw,5.4vh),54px)!important;margin:clamp(2px,.8vh,12px) 0 clamp(4px,1vh,14px)}
body.un-ecran .scan-copy p{line-height:1.55}
body.un-ecran .live-status{margin-top:clamp(4px,1vh,25px);padding:clamp(4px,1vh,15px) 0}
body.un-ecran .live-status .phase{font-size:clamp(14px,2vh,15px);line-height:1.45}
body.un-ecran .scan-layout.en-lecture .live-status .phase{height:2.9em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
body.un-ecran .scan-layout.en-lecture #scanConditions{height:1.6em;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.un-ecran .scan-layout .frame-actions{margin-top:clamp(6px,1.2vh,20px)}
body.un-ecran .scan-layout .frame-actions.en-direct{margin-top:clamp(2px,.6vh,10px)}
body.un-ecran .meters{margin:clamp(8px,1.6vh,25px) 0;gap:clamp(6px,1.2vh,13px)}
body.un-ecran .scan-layout .error{padding:8px 0}
/* le bloc en direct : a cote de la recherche, les mesures (ouvertes quand la place le permet) */
.direct{--roue-h:clamp(110px,18vh,190px);--case:clamp(54px,9.4vh,96px)}
.scan-layout.mesures-ouvertes .direct{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0 16px;align-items:start}
.scan-layout.mesures-ouvertes .direct>details.mesures{margin-top:clamp(8px,1.4vh,14px)}

/* 08/10 (Charles : « fais qu'une fois qu'il a trouvé un élément, ça bloque le container ») : bloc à hauteur fixe,
   chaque partie a sa taille réservée, rien ne change de taille pendant la lecture */
.recherche{display:flex;flex-direction:column;gap:clamp(6px,1.1vh,10px);margin:clamp(8px,1.4vh,14px) 0 0;padding:clamp(12px,1.8vh,18px) clamp(14px,1.4vw,20px);contain:layout}
.recherche>.overline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;flex:none}
.recherche .roue-live{flex:none;height:var(--roue-h,190px);margin:0}
.roue-live .rl.saut{transition:none}
.roue-live .rl img{flex:none;transition:width .45s,height .45s}
.roue-live .rl span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.roue-live .rl em{flex:none;transition:opacity .3s}
.roue-live .rl:not(.on) em,.roue-live .rl em:empty{opacity:0}
.recherche .revele{flex:none;margin:0;width:100%;max-width:calc(4*var(--case,96px) + 24px)}
.recherche .compte{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;font-size:12.5px;line-height:1.3;color:#6b6f66}
.recherche .compte>span{display:block;height:52px;overflow:hidden}
.recherche .compte b{display:block;font:500 14px/1.4 'IBM Plex Mono',ui-monospace,monospace;color:#1f2419;margin:0}
.recherche .compte i,.recherche .fine i{font-style:normal}
.recherche>.fine{flex:none;margin:0;height:3em;line-height:1.5;overflow:hidden}
/* les mesures en direct, repliables */
details.mesures{margin:clamp(6px,1.2vh,12px) 0 0}
details.mesures:has(.live-panel:empty){display:none}
details.mesures>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font:12px/1.6 ui-monospace,monospace;letter-spacing:.15em;text-transform:uppercase;color:#818679;padding:clamp(6px,1vh,10px) 2px;border-top:1px solid #e6e7e1}
details.mesures>summary::-webkit-details-marker{display:none}
details.mesures>summary::after{content:'+';font:300 18px/1 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:0;color:#30362a}
details.mesures[open]>summary::after{content:'–'}
details.mesures .live-panel{margin:2px 0 0}
details.mesures .live-panel>.overline{display:none}
body.un-ecran details.mesures .live-panel{padding:clamp(8px,1.4vh,18px) clamp(12px,1.2vw,20px)}
body.un-ecran details.mesures .live-panel .lv{padding:clamp(3px,.6vh,7px) 0;gap:10px;grid-template-columns:minmax(0,1.2fr) auto minmax(30px,1fr) auto}
body.un-ecran details.mesures .live-panel .lv em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12em}
body.un-ecran details.mesures .live-panel .lz{margin-top:clamp(6px,1vh,14px);gap:8px}
body.un-ecran details.mesures .live-panel .lz div{padding:clamp(6px,1vh,12px)}
body.un-ecran details.mesures .live-panel .fine{margin:clamp(4px,.8vh,10px) 0 0;line-height:1.45}

/* la composition : les rangs de fruits et les cases suivent la hauteur de l'écran */
body.un-ecran .composition{--tf:clamp(78px,14vh,165px);--sl:clamp(58px,10vh,85px);min-height:0;padding:calc(var(--tf)*1.12) 20px calc(var(--tf)*1.2)}
body.un-ecran .moving-fruit{width:var(--tf);height:var(--tf)}
body.un-ecran .composition h1{font-size:clamp(34px,min(5.5vw,7vh),78px);margin:clamp(4px,1.2vh,18px) 0 clamp(6px,1.5vh,23px)}
body.un-ecran .composition-copy p{line-height:1.55}
body.un-ecran .landing{min-height:calc(var(--sl) + 20px);margin-top:clamp(10px,2vh,25px);gap:clamp(8px,1.2vw,16px)}
body.un-ecran .landing .slot{width:var(--sl)}
body.un-ecran .landing .slot img{width:var(--sl);height:var(--sl)}
body.un-ecran .landing .slot>.reflection{top:var(--sl)}
body.un-ecran .trace{margin:clamp(6px,1.2vh,15px) 0}
body.un-ecran .composition .primary{margin-top:0}
body.un-ecran .composition .links{margin-top:clamp(6px,1.2vh,18px)}
body.un-ecran .wheel{height:clamp(130px,20vh,210px);margin-top:clamp(10px,2vh,28px)}
body.un-ecran .wheel:after{top:calc(50% - 25px)}

/* téléphone */
@media (max-width:650px){
 body.un-ecran{--haut:clamp(48px,8.2vh,70px);--pv:clamp(5px,1.2vh,20px);--gv:clamp(4px,1vh,12px)}
 body.un-ecran .notice{padding:0 24px}
 body.un-ecran>footer{padding-left:24px;padding-right:24px}
 body.un-ecran .solo{position:relative;width:calc(100% - 48px);margin:0 auto;justify-content:center}
 body.un-ecran .solo .visual,body.un-ecran .solo.preference .visual,body.un-ecran .solo.consent-view .visual,body.un-ecran .solo:not(.preference) .visual{display:flex;position:absolute;top:var(--gv);right:-6px;min-height:0;height:clamp(58px,12vh,104px);width:clamp(64px,28vw,124px);margin:0;order:0;justify-content:flex-end;align-items:flex-start;pointer-events:none;z-index:0}
 body.un-ecran .solo .visual .product,body.un-ecran .solo.preference .visual .product,body.un-ecran .solo.consent-view .visual .product,body.un-ecran .solo:not(.preference) .visual .product{height:100%;width:100%}
 body.un-ecran .solo .visual .reflection{display:none}
 body.un-ecran .solo>section{position:relative;z-index:1}
 body.un-ecran .solo.preference .question-copy{padding-bottom:0}
 body.un-ecran .question-copy h1,body.un-ecran .solo h1{font-size:clamp(32px,6.2vh,48px);margin:clamp(3px,.8vh,13px) 0 clamp(5px,1.2vh,16px)}
 body.un-ecran .question-copy p{font-size:13.5px;line-height:1.5}
 body.un-ecran .choices{margin:clamp(6px,1.4vh,18px) 0;gap:6px}
 body.un-ecran .choice{padding:clamp(6px,1.1vh,11px) 12px;font-size:12.5px}
 body.un-ecran .nothing{padding:clamp(8px,1.4vh,15px) 14px;margin:clamp(5px,1.1vh,14px) 0}
 body.un-ecran .nothing strong{font-size:15px}
 body.un-ecran .nothing small{font-size:12px;line-height:1.4}
 body.un-ecran .dictation{font-size:12.5px;line-height:1.45;padding:clamp(4px,.8vh,12px) 0}
 body.un-ecran .overline{line-height:1.45}
 body.un-ecran .pied{position:sticky;bottom:0;z-index:5;margin-top:clamp(4px,1vh,18px);padding:8px 0 calc(6px + env(safe-area-inset-bottom,0px));background:linear-gradient(rgba(250,250,250,0),#fafafa 40%)}
 body.un-ecran .progress{margin-top:0}
 body.un-ecran .allergy-layout{width:calc(100% - 48px);margin:0 auto}
 body.un-ecran .allergy-layout h1{font-size:clamp(32px,6.2vh,48px);margin:clamp(3px,.8vh,13px) 0 clamp(4px,1vh,14px)}
 body.un-ecran .allergy-layout section:first-child .visual{min-height:0;height:clamp(56px,11vh,80px);margin-top:calc(-1*clamp(56px,11vh,80px))}
 body.un-ecran .allergy-layout section:first-child .product{height:100%;width:clamp(70px,24vw,110px)}
 body.un-ecran .allergy-layout p{margin:0}
 body.un-ecran .allergy-layout .choices{margin:clamp(8px,1.6vh,18px) 0}
 body.un-ecran .allergy-layout .choice{padding:clamp(6px,1vh,10px) 11px;min-height:0;font-size:12.5px}
 body.un-ecran .allergy-layout .help{margin-top:0}
 body.un-ecran .consent{font-size:13.5px;line-height:1.5}
 body.un-ecran .frame-actions .primary,body.un-ecran .frame-actions .secondary{min-height:44px;padding-top:12px;padding-bottom:12px}
 /* lecture sur téléphone : camera, titre, consigne, boutons, puis le bloc en direct plus bas ; mesures repliees */
 body.un-ecran .scan-layout{width:calc(100% - 48px);gap:clamp(8px,1.4vh,16px);padding:var(--gv) 0}
 body.un-ecran .scan-layout .camera{width:100%;max-width:none;height:clamp(170px,34svh,340px);aspect-ratio:auto}
 body.un-ecran .scan-copy h1{font-size:clamp(28px,6vh,47px)}
 body.un-ecran .scan-layout.en-lecture h1{font-size:clamp(23px,4.4vh,34px)!important}
 body.un-ecran .scan-copy .overline{line-height:1.4}
 body.un-ecran .live-status .phase{font-size:13.5px}
 .direct{--roue-h:clamp(96px,15vh,150px);--case:clamp(50px,9vh,80px)}
 .recherche{padding:12px 14px}
 body.un-ecran .composition{--tf:clamp(60px,11vh,125px);--sl:clamp(50px,9vh,75px);padding:calc(var(--tf)*1.1) 16px calc(var(--tf)*1.18)}
 body.un-ecran .composition h1{font-size:clamp(30px,5.6vh,45px)}
 body.un-ecran .composition-copy p{font-size:13.5px}
 body.un-ecran .trace{font-size:12px;line-height:1.6}
 body.un-ecran .wheel{height:clamp(110px,17vh,210px)}
}
/* 08/10 : réglages du bloc en direct d'après les mesures (1280 x 680 au plus serré) */
.recherche{container-type:inline-size}
.direct{--roue-h:clamp(100px,15vh,190px);--case:clamp(52px,8.6vh,96px)}
@container (min-width:560px){.recherche .compte>span{height:40px}.recherche .compte>span i{white-space:nowrap}.recherche>.fine{height:1.5em;white-space:nowrap;text-overflow:ellipsis}}
@media (max-width:650px){
 body.un-ecran .scan-layout{align-items:stretch!important;gap:8px}
 body.un-ecran .scan-layout .camera{height:calc(100svh - 441px);min-height:150px;max-height:340px}
 body.un-ecran .scan-layout .camera-label{bottom:10px;left:10px;right:10px;padding:8px 12px;font-size:12px;letter-spacing:.08em}
 body.un-ecran .scan-layout.en-lecture h1{font-size:23px!important;margin:2px 0 4px}
 body.un-ecran .live-status .phase{font-size:13.5px}
 body.un-ecran .scan-layout.en-lecture #scanConditions{font-size:12px;height:1.5em}
 .direct{--roue-h:38px;--case:clamp(44px,8vh,64px)}
 .recherche{gap:6px;padding:10px 12px;margin-top:6px}
 .recherche .roue-live{-webkit-mask-image:none;mask-image:none}
 .recherche .compte,.recherche>.fine{display:none}
 details.mesures{display:none}
}
@media (max-width:650px){
 body.un-ecran .frame-actions.en-direct label{min-height:0;padding:0}
 body.un-ecran .scan-layout .live-status{margin-top:2px}
 body.un-ecran .notice{padding:0 16px}
}
body.un-ecran .scan-layout.en-lecture .live-status{margin-top:clamp(2px,.5vh,10px)}
body.un-ecran .scan-layout details.mesures{margin-top:clamp(4px,.6vh,12px)}
/* 08/10 : composition, réglages d'après les mesures */
body.un-ecran .composition{--tf:clamp(68px,11.5vh,165px);padding:calc(var(--tf)*1.02) 20px calc(var(--tf)*1.08)}
body.un-ecran .composition.avec-roue{padding:calc(var(--tf)*.5) 20px calc(var(--tf)*.55)}
body.un-ecran .composition.avec-roue h1{font-size:clamp(30px,min(5vw,6vh),78px)}
body.un-ecran .composition.avec-roue .wheel{height:clamp(110px,16vh,210px);margin-top:clamp(6px,1.2vh,28px)}
body.un-ecran .composition.avec-roue .landing{margin-top:clamp(6px,1.2vh,25px)}
body.un-ecran .landing .slot span{display:block;line-height:1.3}
@media (max-width:650px){
 body.un-ecran .composition{--tf:clamp(56px,10vh,125px);padding:calc(var(--tf)*1) 16px calc(var(--tf)*1.05)}
 body.un-ecran .composition.avec-roue{padding:calc(var(--tf)*.45) 16px calc(var(--tf)*.5)}
 body.un-ecran .composition.avec-roue .wheel{height:clamp(100px,15vh,210px)}
}
body.un-ecran .composition{padding:calc(var(--tf)*.95) 20px calc(var(--tf)*1)}
body.un-ecran .composition.avec-roue{--sl:clamp(50px,8.4vh,85px);padding:calc(var(--tf)*.4) 20px calc(var(--tf)*.45)}
body.un-ecran .composition.avec-roue .wheel{height:clamp(100px,14.5vh,210px)}
body.un-ecran .composition .trace{line-height:1.5}
@media (max-width:650px){
 body.un-ecran .composition{padding:calc(var(--tf)*.85) 16px calc(var(--tf)*.9)}
 body.un-ecran .composition.avec-roue{padding:calc(var(--tf)*.3) 16px calc(var(--tf)*.35)}
 body.un-ecran .composition .primary{min-height:44px;padding-top:12px;padding-bottom:12px}
 body.un-ecran .composition.avec-roue h1{font-size:clamp(28px,5vh,45px)}
}
@media (max-width:650px){body.un-ecran .composition.avec-roue{--sl:clamp(46px,7.6vh,75px)}body.un-ecran .composition.avec-roue .wheel{height:clamp(88px,13.5vh,210px)}}
@media (max-width:650px){
 body.un-ecran .question-copy>p:not(.help):not(.fine){margin:0}
 body.un-ecran .auto-bar{margin:6px 0 2px}
 body.un-ecran .question-copy h1,body.un-ecran .solo h1{font-size:clamp(30px,5.8vh,48px)}
}
@media (max-width:650px){
 body.un-ecran{--gv:clamp(3px,.7vh,12px)}
 body.un-ecran .pied{padding:4px 0 calc(2px + env(safe-area-inset-bottom,0px))}
 body.un-ecran .consent-view .primary{min-height:44px;padding-top:12px;padding-bottom:12px}
 body.un-ecran .consent{line-height:1.45}
 body.un-ecran .solo .fine{font-size:12px;line-height:1.45}
}
.recherche{gap:clamp(5px,.8vh,10px)}
@media (max-width:650px){
 body.un-ecran .allergy-layout .choices{margin:6px 0}
 body.un-ecran .scan-layout .camera{height:calc(83svh - 339px)}
}
/* si des précisions s'ajoutent (plusieurs cases cochées), l'action reste visible en bas de l'écran */
body.un-ecran .pied{position:sticky;bottom:0;z-index:5;background:linear-gradient(rgba(250,250,250,0),#fafafa 35%);padding-top:6px;padding-bottom:4px}
body.un-ecran .help{font-size:12.5px}
@media (min-width:651px){body.un-ecran .pied{padding-top:14px;margin-top:clamp(0px,calc(1.7vh - 8px),10px);background:linear-gradient(rgba(250,250,250,0),rgba(250,250,250,.96) 14px,#fafafa)}}
@media (max-width:650px){body.un-ecran .pied{padding-top:4px;padding-bottom:calc(2px + env(safe-area-inset-bottom,0px));background:linear-gradient(rgba(250,250,250,0),rgba(250,250,250,.96) 6px,#fafafa)}}

/* ===================================================================================================
   08/10 (Charles : « trop de texte, illisible à la fin, enlever les textes en gras ») : l'assiette épurée.
   Par aliment : photo, nom, pourquoi, combien, allégation UE, une ligne de sécurité ; le reste dans « Détails ».
   =================================================================================================== */
b.hl{font-weight:inherit;color:inherit;background:none}
.results p b,.results p strong,.results .help b,.decision .dec-zone b,.rit p b,.rit p strong{font-weight:inherit}
.food-detail.compacte{grid-template-columns:200px minmax(0,1fr);gap:48px;padding:38px 0}
.food-detail.compacte .visual{min-height:170px;top:40px}
.food-detail.compacte .product{width:180px;height:170px}
.food-detail.compacte h3{font-size:clamp(32px,3.2vw,40px);margin:4px 0 14px}
.ess{margin:0;display:grid;gap:8px;max-width:680px}
.ess>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:baseline;padding:8px 0;border-top:1px solid #e6eadf}
.ess dt{font:12px/1.5 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#818679}
.ess dd{margin:0;font-size:15px;line-height:1.55;color:#3f443a}
.ess dd.ess-alleg{font-style:italic;color:#3a3f33}
.ess-prec{margin:12px 0 0;font-size:13.5px;line-height:1.55;color:#826c50;max-width:680px}
details.details-aliment{margin:16px 0 0;max-width:720px;border-top:1px solid #e6eadf}
details.details-aliment>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:12px 0;font-size:13.5px;color:#4f5c45}
details.details-aliment>summary::-webkit-details-marker{display:none}
details.details-aliment>summary::before{content:'+';display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid #cfd5c6;border-radius:50%;font-size:14px;line-height:1}
details.details-aliment[open]>summary::before{content:'–'}
.details-in{padding:4px 0 8px}
.details-in>.overline{margin-top:18px}
.details-in p{font-size:14px;margin:6px 0}
.details-in .etude{margin:4px 0}.details-in .etude a{font-size:12.5px;color:#738363}
.details-in .lien-peau{margin-top:10px}
.details-info{margin:-6px 0 6px}
@media (max-width:650px){
 .food-detail.compacte{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;padding:26px 0}
 .food-detail.compacte .visual{position:relative;top:auto;min-height:84px;margin:0}
 .food-detail.compacte .product{width:84px;height:84px}
 .food-detail.compacte h3{font-size:28px;margin:2px 0 10px}
 .ess>div{grid-template-columns:1fr;gap:2px;padding:7px 0}
 .ess dd{font-size:14px}
 .food-detail.compacte>div{min-width:0}
}
.result-head h1{font-size:clamp(52px,6.2vw,96px)}
/* fin de lecture sur téléphone (1,8 s avant la composition) : tout reste à l'écran */
@media (max-width:650px){
 body.un-ecran .scan-layout:not(.en-lecture) h1{font-size:26px;margin:2px 0 6px}
 body.un-ecran .scan-layout:not(.en-lecture) .scan-copy>p:not(.fine){font-size:13px;line-height:1.45;margin:0}
 body.un-ecran .scan-layout:not(.en-lecture) .camera{height:calc(83svh - 410px);min-height:90px}
 body.un-ecran .meters{gap:4px;margin:6px 0}
 body.un-ecran .meter{font-size:12.5px;grid-template-columns:96px 1fr 44px}
 body.un-ecran .meters .fine{margin:2px 0 0;line-height:1.4}
 body.un-ecran #scanContinue .primary{min-height:44px;padding-top:12px;padding-bottom:12px}
 body.un-ecran .scan-layout:not(.en-lecture) .frame-actions{margin-top:6px;gap:8px}
}
/* 11/10 : la roue « en direct » ne fait plus de mise en page ni de repeinture a chaque image (iPhone, pendant la lecture) :
   memes tailles et memes mouvements, mais animes par transform (le compositeur), plus par width/height ni background-position */
.roue-live .rl img{width:40px;height:40px;transform:scale(.85);transform-origin:0 50%;transition:transform .45s}
.roue-live .rl span{transform:translateX(-6px);transition:transform .45s}
.roue-live .rl.on img,.roue-live .rl.on span{transform:none}
.roue-live .rl{contain:layout style}
.rv i{position:relative;overflow:hidden;background:#ecebe4;animation:none}
.rv i::before{content:'';position:absolute;top:0;bottom:0;left:-200%;width:400%;background:linear-gradient(90deg,#ecebe4,#f7f6f1,#ecebe4) 0 0/50% 100% repeat-x;animation:attente-t 1.4s linear infinite}
@keyframes attente-t{to{transform:translateX(50%)}}

/* 11/10 : la jauge du passage automatique (2,5 s apres un choix), sur le bouton Continuer ; comme celle du choix par defaut */
[data-action].compte{position:relative;isolation:isolate}
[data-action].compte::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:currentColor;opacity:.8;transform:scaleX(0);transform-origin:left center;animation:vyDefaut var(--d,2500ms) linear forwards;pointer-events:none}
.primary.compte::after{left:16px;right:16px;bottom:6px}
[dir=rtl] [data-action].compte::after{transform-origin:right center}
@media (prefers-reduced-motion:reduce){[data-action].compte::after{display:none}}
/* 15/10 : bloc Kombucha (boisson plaisir), sur le modele des eaux, avec la photo detouree a gauche */
.kombus{margin-top:14px;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr))}
.kombu .eau-t h3{font-size:19px}.kombu .eau-c b{overflow-wrap:anywhere}
.kombu{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:start}
.kombu-p{position:relative;display:flex;justify-content:center;padding-top:4px}
.kombu-p img{width:auto;height:160px;max-width:84px;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(36,27,21,.18))}
.kombu-r{position:absolute;top:0;left:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:500 12px 'IBM Plex Mono',ui-monospace,monospace;background:#fff;color:#3a3f33;box-shadow:inset 0 0 0 1px #e2e3dc}
.kombu-x{min-width:0}
.kombu .eau-t h3{text-transform:none}
.kombu .eau-t span{white-space:normal;text-align:right}
.kombu .eau-c{grid-template-columns:repeat(3,minmax(0,1fr))}
.kombu .eau-c small{display:block;line-height:1.3}
.kombu .eau-c b{font-size:14.5px}.kombu .eau-c div:first-child b{white-space:nowrap}
.kombu-w{background:rgba(196,98,60,.12)!important;color:#9a4a2a!important}
.kombu-i{margin:2px 0 8px}.kombu-i summary{cursor:pointer;font-size:13px;color:#5a5f53}
@media (max-width:420px){.kombu{grid-template-columns:64px 1fr;gap:10px}.kombu-p img{height:128px;max-width:64px}}
/* 26/10 : l'intro « casino » entre le scan et la table (plein ecran, Passer, son coupe par defaut) */
.intro-casino{position:fixed;inset:0;z-index:60;background:#FBFCFD;display:grid;place-items:center;overflow:hidden}
.intro-casino canvas{width:min(100vw,100svh * 9 / 16);height:auto;aspect-ratio:9/16;display:block}
.intro-casino .ic-attente{position:fixed;inset:0;display:grid;place-items:center;font:500 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.3em;color:#6A7284}
.intro-casino .ic-barre{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:0 18px max(18px,env(safe-area-inset-bottom));pointer-events:none}
.intro-casino .ic-barre button{pointer-events:auto;font:600 14px/1 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:.02em;height:42px;padding:0 18px;border-radius:99px;border:1px solid rgba(10,12,17,.14);background:rgba(255,255,255,.78);color:#0A0C11;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.intro-casino .ic-barre button[aria-pressed=true]{background:#0A0C11;color:#fff}
.intro-casino .ic-voile{position:fixed;inset:0;background:#F6F8FB;opacity:0;pointer-events:none;transition:opacity .26s}
/* la case « Avec mon visage » sous la camera (decochee par defaut) */
.scan-copy .scan-visage{margin:6px 0 4px;color:#34392e}

/* ================= 30/10 (audit des parcours) ================= */
/* l'en-tête du site, comme sur la peau : logo VYVRE (signature « skin intelligence ») et menu Peau | Cheveux | Aliment, langue, menu ;
   mêmes éléments que vy-menu.js, en encre sur le fond clair de l'univers Aliments */
header .brand{display:flex;align-items:center;gap:15px;width:100%}
header .brand-vyvre{display:inline-flex;flex-direction:column;line-height:1;color:#1d1f1a;text-decoration:none;font-family:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.1em}
header .brand-vyvre i{display:block;margin-top:4px;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:500;font-size:11px;letter-spacing:.01em;text-transform:none;color:#7b7e74}
body #vy-mn .sc{border-color:rgba(29,31,26,.14);background:rgba(255,255,255,.6)}
body #vy-mn .sc a{color:#62655c}
body #vy-mn .sc a:hover{color:#1d1f1a}
body #vy-mn .sc a.on{background:#1d1f1a;color:#fff}
body #vy-mn .burger{border-color:rgba(29,31,26,.18);background:rgba(255,255,255,.6)}
body #vy-mn .burger i{border-color:#1d1f1a}
body #vy-mn .pro{color:#6b6e66}
body #vy-mn .pro:hover,body #vy-mn .pro:focus-visible{color:#1d1f1a}
body #vy-mn #vy-lang>button{color:#5d6058;border-color:rgba(29,31,26,.16);background:rgba(255,255,255,.6)}
body #vy-mn #vy-lang>button:hover{color:#1d1f1a;border-color:rgba(29,31,26,.3)}
/* la roue en direct : une bande claire derrière l'aliment du centre, plus deux filets qui barraient les noms */
.roue-live::before{top:calc(50% - 21px);height:42px;background:rgba(214,176,112,.09);border-radius:12px}
.roue-live::after{display:none}
/* les quatre cases : le nom entier, sur deux lignes au besoin (plus de « Cresson d… ») */
.rv.on img{width:54%;height:54%;transform:translateY(-12%)}
.rv.on span{white-space:normal;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:10.5px;line-height:1.15;bottom:5px;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}
/* après la lecture : l'image lue reste dans le cadre (même sens que la vidéo) ; sans image, ni ovale ni cadre vide */
.camera img.fige.miroir{transform:scaleX(-1)}
.camera.lue .oval{opacity:.55}
.camera.lue.vide{display:none}

/* 30/10 (suite de l'audit) */
/* le titre de la roue en direct : sur deux lignes au besoin, jamais « … EN … » */
.recherche>.overline{white-space:normal;overflow:visible;text-overflow:clip}
/* nom long dans une case (« Cresson de fontaine ») : trois lignes, photo plus petite */
.rv.on.long img{width:42%;height:42%;transform:translateY(-30%)}
.rv.on.long span{-webkit-line-clamp:3;line-clamp:3;font-size:10px;line-height:1.1;bottom:4px}
/* le pont entre l'intro et la table : même voile que la fin de l'intro, au-dessus de tout, puis fondu */
.ic-pont{position:fixed;inset:0;z-index:2147483000;background:#F6F8FB;opacity:1;pointer-events:none;transition:opacity .5s ease}
.ic-pont.part{opacity:0}
@media (prefers-reduced-motion:reduce){.ic-pont{transition:none}}
/* le logo ne se replie jamais sur deux lignes */
header .brand-vyvre{flex:none;white-space:nowrap}
/* le choix de la langue : sur téléphone, dans le pied de page (plus de pastille flottante posée sur les textes et les boutons) ;
   sur ordinateur, vy-menu.js le range dans le menu, comme sur la peau */
footer .al-langue{display:flex;align-items:center;margin-inline:auto}
footer .al-langue:empty{display:none}
@media (max-width:760px){
 footer #vy-lang{position:relative!important;inset:auto!important;z-index:5}
 footer #vy-lang>button{color:#5d6058;border-color:rgba(29,31,26,.16);background:rgba(255,255,255,.6);padding:8px 13px}
 footer #vy-lang ul{top:auto!important;bottom:calc(100% + 10px)!important;left:50%!important;right:auto!important;translate:-50% 0}
}
/* arabe : aucune lettre espacée (l'espacement casse les liaisons) ; les textes de données encore en français gardent leur sens de lecture */
html[lang=ar] body :not(.brand-vyvre){letter-spacing:0!important}
html[dir=rtl] .choice,html[dir=rtl] .list-food strong,html[dir=rtl] .rl span,html[dir=rtl] .rv span,html[dir=rtl] .dictation{unicode-bidi:plaintext}
/* japonais, coréen, chinois : les grands titres se coupent entre les mots */
html:lang(ja) h1,html:lang(ja) h2{word-break:auto-phrase;text-wrap:balance}
html:lang(ko) h1,html:lang(ko) h2{word-break:keep-all;text-wrap:balance}
html:lang(zh-Hans) h1,html:lang(zh-Hans) h2{text-wrap:balance}
/* arabe : les étiquettes en chasse fixe passent dans une police arabe proportionnelle (une police à chasse fixe étire les lettres) */
html[lang=ar] .overline,html[lang=ar] .m,html[lang=ar] .preuve,html[lang=ar] .decision .m,html[lang=ar] .ess dt,html[lang=ar] .intro-casino .ic-attente,html[lang=ar] .kombu-r,
html[lang=ar] .roue-live .rl em,html[lang=ar] .trace,html[lang=ar] details.mesures>summary,html[lang=ar] .progress span{font-family:-apple-system,BlinkMacSystemFont,"Geeza Pro","Segoe UI","Noto Sans Arabic",Tahoma,sans-serif}
/* coréen : retour à la ligne entre les mots, jamais au milieu */
html:lang(ko) body{word-break:keep-all;overflow-wrap:break-word}
/* 30/10 (soir) : recettes restées en français (nl, ru, ar, ja, ko, zh tant que recettes.<code>.json manque) : une mention discrète */
.al-fr-seul{font-size:12px;line-height:1.45;opacity:.72;margin:8px 0 0;letter-spacing:.01em;font-style:normal}
