/* Nami : palette de l’application, partagée par la vitrine et Nami kid. */
:root{--nq-ink:#152a36;--nq-muted:#526b63;--nq-mint:#dcf7e9;--nq-cream:#fff9e8;--nq-line:#d8e8df;--nq-green:#15b36a;--nq-green-ink:#08764b;--nq-violet:#6c60d9;--nq-gold:#ffb020;--nq-shadow:0 12px 34px -18px #295c4340;--nq-ease:cubic-bezier(.22,1,.36,1)}
body.nq-site,body.nq-kid{color:var(--nq-ink);background:linear-gradient(125deg,#dcf7e9 0%,#f3fbf4 52%,#fff9e8 100%);background-attachment:fixed;isolation:isolate}
body.nq-site{--cream-1:#f3fbf4;--cream-2:#fff9e8;--sand:#f4ead3;--night:#f3fbf4;--abyss:#fff9e8;--bg:#f3fbf4;--card:#fff;--ink:var(--nq-ink);--ink-2:#334d46;--text:var(--nq-ink);--ink-soft:var(--nq-muted);--muted:var(--nq-muted);--teal:#109b80;--green:var(--nq-green);--gold:var(--nq-gold);--violet:var(--nq-violet);--coral:#ed715d;--teal-deep:#08766a;--green-deep:#08764b;--gold-deep:#946015;--violet-deep:#6354c6;--coral-deep:#a84132;--glass:#ffffffc9;--glass-strong:#fff;--border-lum:var(--nq-line);--line:var(--nq-line);--shadow-soft:var(--nq-shadow);--shadow-warm:0 22px 60px -30px #295c434d}
body.nq-site .bg-stage{background:linear-gradient(125deg,#dcf7e9,#f3fbf4 52%,#fff9e8)}
body.nq-site .ocean{display:none}
body.nq-site .halo{opacity:.08;filter:blur(100px)}
body.nq-site header,body.nq-site header.site{background:#ffffffeb;border-color:var(--nq-line);box-shadow:0 4px 28px -22px #295c4355;backdrop-filter:blur(18px)}
body.nq-site footer,body.nq-site footer.site{background:#ffffffc9;border-color:var(--nq-line);color:var(--nq-muted)}
body.nq-site h1,body.nq-site h2,body.nq-site h3,body.nq-site th{color:var(--nq-ink)}
body.nq-site a:hover{color:#08764b}
body.nq-site nav.links a:hover,body.nq-site nav.links a[aria-current=page]{background:#e2f6ea;color:#08764b}
body.nq-site .btn,body.nq-site .link,body.nq-site .cta-mini,body.nq-site .btn-dl{transition:transform .25s var(--nq-ease),box-shadow .25s var(--nq-ease),background .25s}
body.nq-site .btn-primary,body.nq-site .link.primary,body.nq-site .btn-dl,body.nq-site .cta-mini,body.nq-site nav.links a.cta-mini{background:#15b36a;color:#102d26;border-color:#0b8b50;box-shadow:0 4px 0 #0b8b50,0 12px 22px -18px #0b8b50;border-bottom-width:0}
body.nq-site .btn-ghost{background:#fff;color:var(--nq-ink);border:1px solid #c4dfd1;box-shadow:var(--nq-shadow)}
body.nq-site .btn-coral{background:#ffd6be;color:#793c24;border-color:#edb28f;box-shadow:var(--nq-shadow)}
body.nq-site .grad,body.nq-site .grad-text,body.nq-site h1 .accent{background:linear-gradient(110deg,#14895b,#168d80 60%,#6657ca);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
body.nq-site .card,body.nq-site .level-card,body.nq-site .form-zone,body.nq-site .plan,body.nq-site .final-card,body.nq-site .link{background:#fff;border-color:var(--nq-line);box-shadow:var(--nq-shadow)}
body.nq-site .plan.feature{background:#fff;border:2px solid #15b36a;box-shadow:0 18px 38px -22px #15b36a70}
body.nq-site .card::before{background:linear-gradient(180deg,#ffffff80,transparent)}
body.nq-site .eyebrow,body.nq-site .nocard,body.nq-site .pill.live{background:#ddf5e6;color:#08764b;border-color:#b5dfc9;box-shadow:none}
body.nq-site .pill.dev,body.nq-site .eco-atelier.or{background:#fff0cd;color:#855509;border-color:#ead59b}
body.nq-site .tag,body.nq-site .p-chip,body.nq-site .socials a,body.nq-site .eco-duo a{background:#f1f8f4;color:#334d46;border-color:#d2e7da}
body.nq-site .p-lvl{background:#f5faf6;border-color:#d2e7da}
body.nq-site .p-count,body.nq-site .p-b{color:#08764b}
body.nq-site .p-emoji{background:#e6f7ef}
body.nq-site .quest,body.nq-site .ui-mock,body.nq-site .node,body.nq-site .dl-item,body.nq-site .incl div{background:#fff;border-color:#d2e7da;box-shadow:var(--nq-shadow)}
body.nq-site .node .nd{color:#fff}
body.nq-site .stack-item:hover{background:#edf8f1;box-shadow:none}
body.nq-site .scene-hero{background:radial-gradient(ellipse,#d1f2e1,#f5faf2 65%,#fff8e6);border:1px solid #d1e7db;box-shadow:var(--nq-shadow)}
body.nq-site .eco-sec-alt{background:#ffffff55}
body.nq-site .gift{background:#f0edff;border-color:#d8d0f6}
body.nq-site details,body.nq-site details[open]{background:#fff;border-color:var(--nq-line)}
body.nq-site .plan .sep{background:var(--nq-line)}
body.nq-site input[type=text],body.nq-site input[type=email],body.nq-site input[type=tel],body.nq-site .plat label{background:#fff;color:var(--nq-ink);border-color:#bdd8c8}
body.nq-site input::placeholder{color:#6a7f73}
body.nq-site .plat label:has(input:checked){background:#def5e8;border-color:#10835d;box-shadow:0 0 0 1px #10835d}
body.nq-site .plat label:focus-within{outline:3px solid #6c60d9;outline-offset:3px}
body.nq-site .form-error{color:#a3312a;background:#fff0e9;border-color:#edb8a4}
body.nq-site .note{background:#fff3d8;color:#70501b;border-color:#e4c991;box-shadow:none}
body.nq-site .steps,body.nq-site .free{background:#e5f7ec;border-color:#c4e2cf}
body.nq-site .free p{color:#345c48}
body.nq-site .updated,body.nq-site .legal{color:#526b63}
body.nq-site .links.open{background:#fffffffa;border-color:var(--nq-line);box-shadow:var(--nq-shadow)}
@media(max-width:900px){body.nq-site header .links{background:#fffffffa;border-color:var(--nq-line)}}
/* Consentement : mêmes états et actions, palette claire. */
body.nq-site{--cookie-text:#152a36;--cookie-muted:#526b63;--cookie-border:#bfdccd;--cookie-accent:#15b36a;--cookie-focus:#6c60d9}
body.nq-site .cookie-consent__panel{background:#fff;border-color:#bfdccd;box-shadow:0 16px 60px #295c4333}
body.nq-site .cookie-consent__decline,body.nq-site .cookie-consent__settings{color:#334d46;border-color:#b9d4c5!important;background:#f4faf6}
body.nq-site .cookie-consent__details{border-color:var(--nq-line)}
body.nq-site .cookie-preferences-link{background:#fff;color:#345c48;border-color:#bfdccd;box-shadow:var(--nq-shadow)}
/* Nami kid : les fiches et les SVG conservent leurs états pédagogiques. */
body.nq-kid{--ink:#152a36;--muted:#526b63;--purple:#08764b;--bg:#f3fbf4;--line:#d8e8df}
body.nq-kid .sidebar,body.nq-kid .topbar,body.nq-kid .mobile-brand{background:#fff;color:#152a36;border-color:#d8e8df}
body.nq-kid .brand-name small,body.nq-kid .sidebar .tiny{color:#526b63}
body.nq-kid .nav button{color:#526b63}
body.nq-kid .nav button.active{background:#e0f5e9;color:#08764b}
body.nq-kid .nav button:hover{background:#eef8f2;color:#08764b}
body.nq-kid .side-bottom{background:#edf8f2;color:#152a36}
body.nq-kid .side-bottom p{color:#526b63}
body.nq-kid .search-shell,body.nq-kid .library-search{background:#f4faf6;border-color:#d8e8df}
body.nq-kid .search-shell input{color:#152a36}
body.nq-kid input::placeholder{color:#657b6e}
body.nq-kid .grade-picker select{background:#fff;color:#152a36;border-color:#c7dfd1}
body.nq-kid .grade-picker select option{background:#fff;color:#152a36}
body.nq-kid .xp-pill{background:#f0edff;color:#6354c6;border-color:#d8d0f6}
body.nq-kid .hero{background:linear-gradient(120deg,#d5f4e2,#f5fbf1 62%,#fff4db);color:#152a36;border:1px solid #c7e5d2;box-shadow:var(--nq-shadow)}
body.nq-kid .hero h2{color:#152a36}
body.nq-kid .hero p{color:#496958}
body.nq-kid .hero .eyebrow{color:#08764b}
body.nq-kid .stat,body.nq-kid .world,body.nq-kid .panel,body.nq-kid .lesson-card,body.nq-kid .class-card,body.nq-kid .empty,body.nq-kid .badge{background:#fff;color:#152a36;border-color:#d8e8df;box-shadow:var(--nq-shadow)}
body.nq-kid .lesson-card .tag,body.nq-kid .completed{color:#08764b}
body.nq-kid .world-icon{background:#edeafd}
body.nq-kid .world:nth-child(3n+2) .world-icon{background:#fdebe8}
body.nq-kid .world:nth-child(3n) .world-icon{background:#e3f5f6}
body.nq-kid .pill,body.nq-kid .grade-tag{background:#e0f5e9;color:#08764b}
body.nq-kid .class-card.chosen{background:#e5f7ec;border-color:#15b36a}
body.nq-kid .filter{background:#fff;color:#496958;border-color:#d8e8df}
body.nq-kid .filter.active{background:#15b36a;color:#102d26;border-color:#15b36a}
body.nq-kid .progress-track{background:#eaf6ec}
body.nq-kid .progress-track i{background:#15b36a}
body.nq-kid .button{background:#15b36a;color:#102d26;box-shadow:0 4px 0 #0b8b50}
body.nq-kid .button.secondary{background:#fff;color:#152a36;border-color:#c7dfd1;box-shadow:none}
body.nq-kid .text-link{color:#08764b}
body.nq-kid .parent-grid input,body.nq-kid .journal-form input,body.nq-kid .journal-form select,body.nq-kid .panel textarea{background:#fff;color:#152a36;border-color:#bdd8c8}
body.nq-kid .school-confirm{background:#fff;color:#152a36;border-color:#c7dfd1;box-shadow:0 24px 80px #152a3630}
body.nq-kid .school-confirm::backdrop{background:#183e3655}
body.nq-kid .nami-free{background:#def5e8;color:#08764b;border-color:#bfdccd}
body.nq-kid .parent-invite{background:#fff;border-color:#d8e8df}
body.nq-kid .nami-parent,body.nq-kid .parent-newsletter{background:linear-gradient(125deg,#def5e8,#fff9e8);border-color:#c7dfd1}
body.nq-kid .nami-parent p,body.nq-kid .parent-newsletter>p{color:#345c48}
body.nq-kid .nami-parent .eyebrow{color:#855509}
body.nq-kid .newsletter-fields input,body.nq-kid .newsletter-fields select{background:#fff;color:#152a36;border-color:#bdd8c8}
body.nq-kid .newsletter-note a{color:#08764b}
body.nq-kid .newsletter-status{color:#08764b}
body.nq-kid .newsletter-status.error{color:#a3312a}
body.nq-kid .nami-hero-orbit{background:radial-gradient(ellipse,#fff8,#ffffff00 70%)}
body.nq-kid .nami-hero-character{filter:drop-shadow(0 14px 12px #295c4326)}
body.nq-kid .nami-logo-card,body.nq-kid .brand-mark img{background:transparent}
/* Ondulations et mouvements sans gêner la lecture ou masquer des informations. */
.nq-site .eco-hero,.nq-site .hero,.nq-kid .hero{position:relative}
.nq-site .eco-hero::after,.nq-site .hero::after{content:"";display:block;height:40px;margin-top:20px;background:url("nami-wave.svg") repeat-x bottom/720px 40px;opacity:.55;animation:nq-wave 28s linear infinite;pointer-events:none}
.nq-site .scene svg{animation:nq-float 8s ease-in-out infinite}
.nq-site .scene-hero svg{animation-duration:10s}
.nq-site .scene-hero svg>g:nth-of-type(2){animation:nq-shimmer 5s ease-in-out infinite;transform-origin:center}
.nq-site .card:hover,.nq-site .level-card:hover,.nq-site .link:hover,.nq-kid .lesson-card:hover,.nq-kid .world:hover{transform:translateY(-4px);box-shadow:0 20px 42px -24px #295c4360}
.nq-site :is(.card,.level-card,.plan,.link),.nq-kid :is(.panel,.world,.lesson-card,.stat,.badge){transition:transform .3s var(--nq-ease),box-shadow .3s var(--nq-ease),border-color .3s}
.nq-site .nq-arrived,.nq-kid .nq-arrived{animation:nq-arrive .65s var(--nq-ease) both;animation-delay:var(--nq-delay,0ms)}
.nq-site :is(a,button,input,summary):focus-visible,.nq-kid :is(a,button,input,summary,select):focus-visible{outline:3px solid #6c60d9;outline-offset:4px}
@keyframes nq-wave{to{background-position-x:720px}}
@keyframes nq-float{50%{transform:translateY(-8px)}}
@keyframes nq-shimmer{50%{opacity:.65}}
@keyframes nq-arrive{from{opacity:.45;translate:0 14px}to{opacity:1;translate:0 0}}
@media(max-width:760px){body.nq-kid .sidebar{height:calc(70px + env(safe-area-inset-bottom,0px));padding-bottom:calc(7px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;box-shadow:0 -6px 24px -18px #295c4355}body.nq-kid .main{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}body.nq-kid .content{padding-bottom:50px}.nq-site .eco-hero::after,.nq-site .hero::after{height:24px;background-size:500px 24px}}
@media(hover:none){.nq-site .card:hover,.nq-site .level-card:hover,.nq-kid .world:hover,.nq-kid .lesson-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){body.nq-site *,body.nq-kid *,body.nq-site *::before,body.nq-site *::after,body.nq-kid *::before,body.nq-kid *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.nq-arrived{translate:none!important;opacity:1!important}}
body.nq-kid.calm *,body.nq-kid.calm *::before,body.nq-kid.calm *::after{animation:none!important;transition:none!important}
@media print{body.nq-site,body.nq-kid{background:#fff}.nq-site .eco-hero::after,.nq-site .hero::after{display:none}.nq-site .nq-arrived,.nq-kid .nq-arrived{animation:none;translate:none;opacity:1}}
body.nq-site .scene-hero>svg{display:block}body.nq-site .scene-hero{min-height:0;aspect-ratio:4/3;overflow:hidden}
