/* CodeNova : ergonomie pour écrans tactiles */
:root{--touch-target:46px}html{scroll-padding-top:92px;-webkit-text-size-adjust:100%}body{overflow-x:clip}img,video,svg,canvas{max-width:100%}pre,code{overflow-wrap:anywhere}pre{overflow-x:auto;white-space:pre-wrap;word-break:break-word}table{display:block;max-width:100%;overflow-x:auto}main,article,section,.card,.math-panel,.study-card{min-width:0}p,li,h1,h2,h3,a{overflow-wrap:break-word}button,a,input,select,textarea{touch-action:manipulation}button,input,select,textarea{font-size:max(16px,1em)}:where(a,button,input,select,textarea):focus-visible{outline:3px solid #ffd46b!important;outline-offset:3px}
@media(max-width:720px){
 .wrap{padding:18px 15px 56px!important}.hero{padding:28px 0!important;gap:22px!important}.hero h1{font-size:clamp(2rem,8vw,2.9rem)!important}.hero .lead{font-size:1.04rem!important;line-height:1.65!important}.hero-media,.hero-photo{min-height:220px!important;height:220px!important}.actions{display:grid;grid-template-columns:1fr;gap:10px}.actions>a,.actions>button,.actions>.primary{width:100%;text-align:center;min-height:var(--touch-target)}
 .grid,.pricing-grid,.plans,.quiz-controls,.math-lesson-grid,.math-tips,.study-layout{grid-template-columns:minmax(0,1fr)!important}.card,.math-panel,.study-card,.premium-deep{padding:18px!important;border-radius:16px}.section-head{align-items:start;flex-direction:column}.premium-intro{padding:18px!important}.premium-toc ol{columns:1!important}.quiz-opt,.answer-stack button,.math-options button,.math-tabs button{min-height:var(--touch-target);font-size:1rem}.lesson-page .study-card p,.lesson-page .study-card li{font-size:1rem;line-height:1.75}.lesson-page .study-hero{padding:20px!important}.lesson-page .study-hero h1{font-size:clamp(1.9rem,7.5vw,2.6rem)!important}
 .maths-page main,.lesson-page main{padding:16px 13px 55px!important}.math-nav{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:10px 13px!important}.math-brand{font-size:1rem;white-space:nowrap}.math-nav nav{width:100%;display:flex;justify-content:space-between;gap:8px}.math-nav nav a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);font-size:.88rem;padding:8px 10px}.math-hero{padding:24px 17px!important;border-radius:17px}.math-hero p{font-size:1rem}.math-stats{gap:7px}.math-stats span{font-size:.85rem;padding:7px 9px}.math-levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.math-level{padding:12px;min-height:92px}.math-level strong{font-size:1rem}.math-tabs{flex-wrap:nowrap!important;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:2px 2px 10px}.math-tabs button{flex:0 0 auto}.math-example{padding:12px!important}.math-example p{font-size:1rem}.math-retry,.math-next-btn{margin:8px 0 0;width:100%}
 .learning-page .cn-course-header{padding:12px 14px!important}.learning-page .grid{grid-template-columns:minmax(0,1fr)!important}.learning-page main{padding:18px 14px!important}.learning-page button{min-height:var(--touch-target)}
 .topbar .nav{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;padding:10px 14px!important;align-items:center}.topbar .brand{min-width:0}.topbar .links{grid-column:1/-1;display:none;flex-direction:column;align-items:stretch;width:100%;gap:5px;padding-top:12px;max-height:min(75dvh,650px);overflow-y:auto}.topbar .links.mobile-open{display:flex!important}.topbar .links button,.topbar .links a{min-height:var(--touch-target);width:100%;display:flex;align-items:center;justify-content:flex-start;padding:11px 14px!important;font-size:1rem!important;border-radius:10px}.mobile-menu-toggle{grid-column:2;grid-row:1;display:flex!important;align-items:center;justify-content:center;min-height:44px;min-width:46px;border:1px solid #46637a;background:#1d3449;color:#effaff;border-radius:11px;font-weight:800;cursor:pointer}
 #parcours-codenova,.math-home-banner{padding:17px!important;margin:18px 12px!important}#parcours-codenova [style*="display:grid"]{grid-template-columns:minmax(0,1fr)!important}.footer{padding:22px 15px}
}
@media(min-width:721px){.mobile-menu-toggle{display:none!important}}
@media(max-width:370px){.math-levels{grid-template-columns:minmax(0,1fr)}.math-nav nav{flex-wrap:wrap}.math-nav nav a{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
