:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--white:#f3f3f3;--black:#060509;--violet:#7e64d8;--blue:#81b7ff;--bg:var(--white);--wall:var(--white);--surface:var(--white);--soft:color-mix(in srgb, var(--black) 5%, var(--white));--ink:var(--black);--muted:color-mix(in srgb, var(--black) 62%, var(--white));--line:color-mix(in srgb, var(--black) 14%, var(--white));--hairline:color-mix(in srgb, var(--black) 9%, transparent);--accent:var(--blue);--accent-2:var(--violet);--accent-ink:var(--black);--mark:var(--blue);--bar:color-mix(in srgb, var(--white) 82%, transparent);--font-display:"Clash Display", "Helvetica Neue", Arial, sans-serif;--font-body:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--font-projet-titre:"Clash Display", "Helvetica Neue", Arial, sans-serif;--font-projet-texte:"Questrial", "Helvetica Neue", Arial, sans-serif}@font-face{font-family:Clash Display;src:url(../fonts/ClashDisplay-Regular.woff2)format("woff2"),url(../fonts/ClashDisplay-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}*,.ia-noeud-texte{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--wall);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.5}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.eyebrow{font:500 .72rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}.menubar{z-index:50;height:34px;padding:0 max(14px,env(safe-area-inset-right,0px)) 0 max(14px,env(safe-area-inset-left,0px));background:var(--bar);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);font:500 .8rem var(--font-mono);color:var(--ink);justify-content:space-between;position:fixed;top:0;left:0;right:0}.mb-end,.mb-left,.mb-right,.menubar{align-items:center;display:flex}.mb-left,.mb-right{gap:14px}.mb-end{gap:6px}.burger,.menu-mobile{display:none}.logo{color:inherit;align-items:center;gap:12px;margin-left:-8px;padding:4px 8px;text-decoration:none;display:flex}.logo:hover{background:var(--accent);color:var(--accent-ink)}.logo-rond{transition:opacity .3s}.done,.folders,.logo.sans-rond .logo-rond{opacity:0}.mb-name{font:400 1.05rem var(--font-projet-titre);letter-spacing:0}.menu{gap:4px;display:flex}.menu button{cursor:pointer;font:inherit;background:0 0;border:0;padding:4px 10px}.menu button:hover{background:var(--accent);color:var(--accent-ink)}.batt{align-items:center;gap:6px;display:inline-flex}.batt-body{border:1.5px solid;border-radius:3px;width:24px;height:11px;display:block;position:relative}.batt-body:after{content:"";width:2px;height:4px;top:2px;right:-4px}.batt-body:after,.batt-fill{background:currentColor;position:absolute}.batt-fill{border-radius:1px;width:80%;display:block;top:1px;bottom:1px;left:1px}.scroller{height:520vh;position:relative}.desk{background:var(--wall);height:100svh;position:sticky;top:0;overflow:hidden}.files{z-index:20;pointer-events:none;inset:0}.file,.files,.nom{position:absolute}.file{will-change:transform,opacity;width:30px;height:38px;top:0;left:0}.nom{width:37px;font:400 6px/1.1 var(--font-mono);color:var(--ink);text-align:center;white-space:nowrap;text-overflow:ellipsis;top:41px;left:50%;overflow:hidden;transform:translate(-50%)}.files.sans-noms .nom{display:none}.page{background:var(--white);clip-path:polygon(0 0,68% 0,100% 22%,100% 100%,0 100%);width:30px;height:38px;display:block;position:relative}.page:after{clip-path:polygon(0 0,0 100%,100% 100%);background:#ffffffb3;width:32%;height:22%;top:0;right:0}.page:after,.page:before{content:"";position:absolute}.page:before{background:repeating-linear-gradient(var(--line) 0 1.5px,transparent 1.5px 4px);height:8px;top:14px;left:5px;right:5px}.ext{font:500 6.5px var(--font-mono);color:var(--black);background:var(--c,var(--blue));padding:0 3px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.tone0 .page{background:var(--ink)}.tone1 .page{background:var(--mark)}.tone2 .page{background:var(--black)}.tone3 .page{background:var(--violet)}[class*=tone] .ext,[class*=tone] .page:before{display:none}.tone4 .page{background:color-mix(in srgb,var(--blue) 75%,var(--violet))}.tone5 .page{background:color-mix(in srgb,var(--blue) 50%,var(--violet))}.tone6 .page{background:color-mix(in srgb,var(--blue) 25%,var(--violet))}.t-dev{--c:var(--blue)}.t-img{--c:var(--violet)}.t-vid{--c:var(--black)}.t-aud{--c:var(--blue)}.t-doc{--c:var(--line)}.t-vid .ext{color:var(--white)}.folders{z-index:10;flex-wrap:wrap;justify-content:center;gap:calc(clamp(14px,4vw,60px));width:min(100%,760px);padding:0 16px;display:flex;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%)}.folder{cursor:pointer;background:0 0;border:0;justify-items:center;gap:10px;padding:8px;display:grid}.f-icon{perspective:400px;width:112px;height:88px;display:block;position:relative}.f-back{border-radius:6px;inset:8px 0 0}.f-back,.f-back:before{background:color-mix(in srgb,var(--black) 22%,var(--blue));position:absolute}.f-back:before{content:"";border-radius:6px 6px 0 0;width:42%;height:12px;top:-9px;left:0}.f-front{background:var(--mark);transform-origin:bottom;border-top:2px solid #ffffff73;border-radius:6px;transition:transform .3s;position:absolute;inset:24px 0 0}.folder.recv .f-front,.folder:focus-visible .f-front,.folder:hover .f-front,.ico:focus-visible .f-front,.ico:hover .f-front{transform:rotateX(-24deg)}.f-name{font:500 .82rem var(--font-mono);color:var(--ink);background:0 0;padding:2px 8px}.folder:focus-visible .f-name,.folder:hover .f-name{background:var(--accent-2);color:var(--accent-ink)}.badge{background:var(--ink);min-width:26px;height:26px;color:var(--white);font:500 .78rem/26px var(--font-mono);text-align:center;z-index:2;border-radius:13px;padding:0 6px;transition:transform .2s;position:absolute;top:-8px;right:-10px}.badge.bump{transform:scale(1.25)}.tb{background:var(--soft);height:38px;color:var(--ink);font:500 .75rem var(--font-mono);border-bottom:1px solid var(--hairline);align-items:center;gap:8px;padding:0 14px;display:flex;position:relative}.tb .close,.tb i{background:var(--line);width:12px;height:12px;box-shadow:inset 0 0 0 .5px color-mix(in srgb,var(--black) 18%,transparent);border:0;border-radius:50%;padding:0;display:block}.tb span{text-overflow:ellipsis;white-space:nowrap;max-width:56%;overflow:hidden;transform:translate(-50%)}.done,.tb span{pointer-events:none;position:absolute;left:50%}.done{z-index:30;text-align:center;color:var(--ink);width:min(100%,680px);padding:0 16px;transition:opacity .4s,transform .4s;bottom:calc(44% + 105px);transform:translate(-50%,8px)}.done.on{opacity:1;transform:translate(-50%)}.big{font:400 calc(clamp(2rem,6vw,3.8rem))/1 var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 10px}.tag{left:max(16px,env(safe-area-inset-left,0px));max-width:40ch;font:400 .78rem var(--font-mono);opacity:.85}.hint,.tag{z-index:30;color:var(--muted);margin:0;transition:opacity .3s;position:absolute;bottom:20px}.hint{font:500 .8rem var(--font-mono);flex-direction:column;align-items:center;gap:2px;display:flex;left:50%;transform:translate(-50%)}.hint-fleche{font-size:1.1rem;line-height:1}.win{z-index:60;background:var(--surface);width:min(760px,100% - 24px);max-height:calc(100% - 70px);color:var(--ink);box-shadow:0 0 0 .5px color-mix(in srgb,var(--black) 14%,transparent),0 2px 6px color-mix(in srgb,var(--black) 6%,transparent),0 22px 60px -12px color-mix(in srgb,var(--black) 28%,transparent);border:0;border-radius:12px;grid-template-rows:auto auto 1fr auto;display:grid;position:absolute;top:52%;left:50%;overflow:hidden}.win[hidden]{display:none}.win.xl{width:calc(100% - 48px);height:calc(100% - 82px);max-height:none}.win.xl .items{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.win .tb{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.win .tb .close{cursor:pointer;background:#ff5f57;position:relative}.win .tb .close:before{content:"×";font:700 12px/1 var(--font-body);color:#8a1612;opacity:0;place-items:center;display:grid;position:absolute;inset:0}.win .tb .close:focus-visible:before,.win .tb .close:hover:before{opacity:1}.win .tb i:first-of-type{background:#febc2e}.win .tb i:nth-of-type(2){background:#28c840}.path{font:400 .72rem var(--font-mono);color:var(--muted);border-bottom:1px solid var(--hairline);padding:9px 16px}.crumb{font:inherit;color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:2px;padding:0 2px}.crumb:hover{background:var(--accent);text-decoration:none}.win-body{padding:18px;overflow:auto}.win-foot{font:400 .72rem var(--font-mono);color:var(--muted);border-top:1px solid var(--hairline);padding:8px 14px}.items{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;margin:0;padding:0;list-style:none}.item a,.items,.thumb{display:grid}.item a{color:inherit;gap:6px;text-decoration:none}.thumb{aspect-ratio:4/3;background:var(--soft);font:500 .8rem var(--font-mono);color:var(--muted);border:0;border-radius:8px;place-items:center;position:relative;overflow:hidden}.thumb:after{content:"";background-image:linear-gradient(135deg,transparent 49.5%,var(--line) 50%,transparent 50.5%);position:absolute;inset:0}.item a:hover .thumb{box-shadow:0 0 0 3px var(--accent-2)}.item b{font:500 1.2rem var(--font-display)}.item em{font:400 .72rem var(--font-mono);color:var(--muted);font-style:normal}.icons{flex-wrap:wrap;gap:20px 28px;margin:0;padding:0;list-style:none;display:flex}.ico{cursor:pointer;width:120px;color:var(--ink);background:0 0;border:0;justify-items:center;gap:8px;padding:8px;display:grid}.ico .f-icon{width:84px;height:66px}.ico .f-front{top:18px}.ico .badge{background:var(--ink);min-width:22px;height:22px;color:var(--bg);font-size:.7rem;line-height:22px;top:-8px;right:-8px}.ico-name{font:500 .78rem var(--font-mono);padding:2px 6px}.ico:focus-visible .ico-name,.ico:hover .ico-name{background:var(--accent-2);color:var(--accent-ink)}.ico-doc{width:45px;height:57px;margin-top:4px;display:block;position:relative}.ico-doc .page{transform-origin:0 0;background:var(--blue);transform:scale(1.5)}.ico-doc .t-doc{--c:var(--white)}.text{gap:12px;max-width:56ch;display:grid}.text h2{font:400 1.6rem var(--font-display);letter-spacing:-.01em;margin:0}.text p{color:var(--muted);margin:0}@media (width<=700px){.win.xl{width:calc(100% - 24px);height:calc(100% - 58px)}.batt,.menu,.wifi{display:none}.burger{cursor:pointer;background:0 0;border:0;align-content:center;justify-items:center;gap:4px;width:44px;height:34px;margin-right:-12px;display:grid}.burger span{background:var(--ink);border-radius:1px;width:18px;height:2px;display:block}.burger:hover span{background:var(--accent)}.menu-mobile{background:var(--white);min-width:200px;box-shadow:0 0 0 .5px color-mix(in srgb,var(--black) 14%,transparent),0 22px 60px -12px color-mix(in srgb,var(--black) 28%,transparent);border-radius:0;padding:6px;display:grid;position:absolute;top:40px;right:8px}.menu-mobile button{text-align:left;cursor:pointer;min-height:44px;font:500 .9rem var(--font-mono);color:var(--ink);background:0 0;border:0;border-radius:0;padding:0 14px}.menu-mobile button:focus-visible,.menu-mobile button:hover{background:var(--accent);color:var(--accent-ink)}.folders{width:min(100%,360px);top:60%}.f-icon{width:96px;height:76px}.tag{text-align:center;max-width:none;bottom:68px;left:16px;right:16px}.done{bottom:calc(44% + 165px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.badge,.done,.f-front{transition:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a.close{display:block}.page-body,.thumb.has-img{padding:0}.thumb.has-img:after{display:none}.thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.fenetres{z-index:40;pointer-events:none;position:fixed;inset:0}.fenetres .win{pointer-events:auto}.projet-page{background:var(--wall);min-height:100svh}.win-page{z-index:30;width:auto;max-height:none;position:fixed;inset:58px 24px 24px}.win-page .tb .close{background:#ff5f57}.projet-hero{background:#000;position:relative}.projet-hero img{max-height:60vh;display:block}.projet-hero:after{content:"";background:linear-gradient(#0000,#00000059);height:30%;position:absolute;inset:auto 0 0}.projet-infos{border-bottom:1px solid var(--line);align-items:flex-end;gap:12px 24px;padding:20px calc(clamp(16px,4vw,48px))}.projet-infos h1{font:400 calc(clamp(1.6rem,4vw,2.6rem))/1.05 var(--font-display);letter-spacing:-.02em}.projet-infos h1 em{font:400 .9rem var(--font-mono);color:var(--muted);letter-spacing:0}.projet-date{font:400 .78rem var(--font-mono);color:var(--muted);margin:4px 0 0}.projet-tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.projet-tags li{font:500 .72rem var(--font-mono);border:1px solid var(--ink);border-radius:3px;padding:3px 12px}.blocs{gap:calc(clamp(36px,6vw,80px));padding:calc(clamp(24px,5vw,56px)) calc(clamp(16px,4vw,48px))}.bloc h2{font:500 .78rem var(--font-mono);letter-spacing:.04em;margin:0 0 8px}.bloc p{margin:0}.bloc-texte{gap:16px;max-width:64ch;display:grid}.bloc-texte p{color:var(--ink);font-size:.95rem}.bouton{background:var(--ink);font:500 .78rem var(--font-mono);border-radius:3px;justify-self:start;padding:8px 18px;text-decoration:none;display:inline-block}.bouton:hover{background:var(--accent);color:var(--accent-ink)}.bloc-images{gap:0;display:grid}.rangee img{aspect-ratio:4/3}.bloc-images.contain{background:var(--soft)}.bloc-images.contain .rangee img{-o-object-fit:contain;object-fit:contain;aspect-ratio:16/10;background:var(--soft)}.bloc-lien{text-align:center;padding:16px}.bloc-duo{grid-template-columns:minmax(120px,1fr) 3fr;gap:24px}.palette{margin:0;padding:0;list-style:none}.palette li{font:500 .78rem var(--font-mono);padding:22px 14px}.palette li:first-child{border:1px solid var(--line)}.typo-nom{letter-spacing:-.02em;line-height:1;color:var(--ink)!important;margin-bottom:24px!important;font-size:calc(clamp(2.4rem,8vw,5.5rem))!important}.typo-detail{flex-wrap:wrap;align-items:flex-end;gap:24px 48px;display:flex}.typo-specimen{line-height:.95;color:var(--ink)!important;font-size:calc(clamp(3.5rem,10vw,8rem))!important}.typo-lettres{max-width:28ch;color:var(--ink)!important;font-size:1rem!important}.bloc-video{gap:0;display:grid}.bloc-video video{aspect-ratio:16/9;background:#000;width:100%;display:block}.bloc-video .rangee img{aspect-ratio:16/10}.bloc-audio audio{width:100%}.bloc-audio>div{gap:8px;display:grid}.projet-pied{border-top:1px solid var(--line);padding:24px calc(clamp(16px,4vw,48px)) 40px}.retour{font:500 .82rem var(--font-mono);color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--accent-2);text-decoration-color:var(--accent-2)}.retour:hover{background:var(--accent-2);text-decoration:none}@media (width<=700px){.win-page{inset:42px 8px 8px}}.page-body,.win .text{font-family:var(--font-projet-texte);font-weight:400}.page-body h1,.page-body h2,.win .text h2{font-family:var(--font-projet-titre);letter-spacing:0;font-weight:400}.projet-infos h1{letter-spacing:-.01em;font-weight:400}.page-body .bloc h2{letter-spacing:.02em;font-size:.85rem}.page-body .bouton,.page-body .projet-date,.page-body .projet-tags li,.page-body .retour{font-family:var(--font-projet-texte)}.win .text h2{font-size:calc(clamp(1.8rem,5vw,2.6rem));line-height:1.05}.win .text p{color:var(--ink);font-size:1rem}.big{font:400 calc(clamp(2rem,6vw,3.8rem))/1.05 var(--font-projet-titre);letter-spacing:0}.page-body{--m:1.66rem;font-size:18px;line-height:1.5}.projet-tete{padding:0 var(--m);position:relative}.projet-hero{background:0 0;padding:0}.projet-hero img{aspect-ratio:auto;-o-object-fit:cover;object-fit:cover;width:100%;height:auto;max-height:80vh}.projet-hero:after{display:none}.projet-infos{background:var(--white);border-bottom:1px solid var(--black);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:0;display:flex}.projet-tete.avec-image .projet-infos{left:var(--m);right:var(--m);position:absolute;bottom:0}.projet-tete:not(.avec-image){padding-top:var(--m)}.projet-infos h1{letter-spacing:0;margin:0;font-size:2.618rem;line-height:1.2}.projet-infos h1 em{font-size:1rem}.projet-date{margin:0;font-size:.9em}.projet-tags{align-items:center;gap:1rem}.projet-tags li{border:1px solid var(--black);border-radius:0;padding:.2rem 1.5rem;font-size:1em;font-weight:400}.blocs{padding:7rem var(--m) 5rem;gap:7rem;display:grid}.bloc-texte{max-width:50%;margin:0 auto;padding:0;display:block}.bloc-texte p{color:var(--black);font-size:1em;line-height:1.5}.bloc-texte p+p{margin-top:1rem}.bloc-duo{grid-template-columns:25% 75%;align-items:start;gap:0;padding:0;display:grid}.bloc-duo p{color:var(--black);font-size:1em}.page-body .bloc-duo h2{font-family:var(--font-projet-texte);letter-spacing:0;margin:0;font-size:1.5em}.bloc-audio{align-items:center}.bloc-audio>div{gap:.5rem;padding-right:1.5em}.ia{gap:2rem;display:grid}.ia-intro{max-width:40rem}.ia-schema{width:100%;height:auto;display:block;overflow:visible}.ia-voie{stroke:var(--line);stroke-width:1px;stroke-dasharray:2 5}.ia-voie-nom{font:500 15px var(--font-mono);fill:var(--black)}.ia-fleche{fill:none;stroke:var(--black);stroke-width:1.4px}.ia-retour{stroke-dasharray:5 4}.ia-retour-nom{font:11px var(--font-mono)}.ia-noeud.moi rect,.ia-pointe,.ia-retour-nom{fill:var(--black)}.ia-noeud rect{stroke:var(--black);stroke-width:1.4px}.ia-noeud.agent rect{fill:var(--white)}.ia-noeud-texte{width:100%;height:100%;font:14px/1.3 var(--font-projet-texte);flex-direction:column;gap:6px;padding:10px 10px 8px;display:flex}.ia-noeud-texte p{font-size:inherit;color:inherit;margin:0}.ia-noeud.moi .ia-noeud-texte{color:var(--white)}.ia-noeud.agent .ia-noeud-texte{color:var(--black)}.ia-noeud-num{font:12px var(--font-mono);opacity:.7}.ia-noeud-texte code{font:12px var(--font-mono);border:1px solid;align-self:flex-start;margin-top:auto;padding:0 6px}.ia-liste{margin:0;padding:0;list-style:none;display:none}.ia-liste li{border-top:1px solid var(--black);padding:.7rem 0}.ia-liste li.moi{font-weight:700}.ia-liste span{width:1.6rem;display:inline-block}.ia-liste code{font:.75em var(--font-mono);margin-left:.4rem;padding:0 6px}.ia-liste code,.ia-socle,.prog-chiffres,.prog-flux li{border:1px solid var(--black)}.ia-socle{margin:0;padding:.9rem 1.1rem;font-size:.95em}@media (width<=700px){.ia-schema{display:none}.ia-liste{display:block}}.prog{gap:2.5rem;display:grid}.prog-titre{font:500 .8em var(--font-mono);letter-spacing:.02em;text-transform:uppercase;margin:0 0 .7rem}.prog-chiffres{grid-template-columns:repeat(var(--n,3),1fr);margin:0;display:grid}.prog-chiffres>div{padding:1rem 1.2rem 1.2rem}.prog-chiffres>div+div{border-left:1px solid var(--black)}.prog-chiffres dt{font:400 calc(clamp(2.2rem,5vw,3.4rem))/1 var(--font-projet-titre)}.prog-chiffres dd{margin:.4rem 0 0;font-size:.9em}.prog-stack{grid-template-columns:repeat(2,1fr);gap:0 2rem;margin:0;display:grid}.prog-stack>div{border-top:1px solid var(--black);padding:.7rem 0}.prog-stack dt{font:500 .85em var(--font-mono)}.prog-stack dd{margin:.15rem 0 0}.prog-flux{grid-template-columns:repeat(var(--n),1fr);gap:1.4rem;margin:0;padding:0;list-style:none;display:grid}.prog-flux li{background:var(--white);flex-direction:column;justify-content:space-between;gap:.6rem;min-height:5.5rem;padding:.7rem .75rem;line-height:1.25;display:flex;position:relative}.prog-flux li strong{font:400 .95em var(--font-projet-texte);overflow-wrap:anywhere}.prog-flux li small{font:.72em var(--font-mono)}.prog-flux li.accent{background:var(--black);color:var(--white)}.prog-flux li:not(:last-child):after{content:"→";font:.9em var(--font-mono);color:var(--black);position:absolute;top:50%;right:-1.15rem;transform:translateY(-50%)}.prog-schema{grid-template-columns:repeat(var(--n),1fr);gap:0 1.4rem;margin:0;padding:0;list-style:none;display:grid}.prog-schema li{flex-direction:column;align-items:stretch;gap:.3rem;display:flex}.prog-schema strong{font:400 .95em var(--font-projet-texte);overflow-wrap:anywhere}.prog-schema small{font:.72em var(--font-mono)}.schema-bas,.schema-haut{border:1px solid var(--black);flex-direction:column;justify-content:space-between;gap:.6rem;min-height:5rem;padding:.7rem .75rem;line-height:1.25;display:flex;position:relative}.schema-haut{border-style:dashed}.schema-bas{background:var(--white)}.schema-bas.accent{background:var(--black);color:var(--white)}.schema-fleche{font:1.1em var(--font-mono);align-self:center;line-height:1.6}.prog-schema li:not(:last-child) .schema-bas:after{content:"→";font:.9em var(--font-mono);color:var(--black);position:absolute;top:50%;right:-1.15rem;transform:translateY(-50%)}.prog-exemple{gap:1rem;margin:0;display:grid}.prog-exemple .prog-titre{margin:0}.prog-exemple .exemple-question{background:var(--black);max-width:42rem;color:var(--white);text-align:center;justify-self:center;margin:0;padding:.8rem 1.2rem}.exemple-reponse{border:1px solid var(--black);padding:1.2rem}.exemple-reponse p{margin:0 0 .8rem}.exemple-reponse p:last-child{margin-bottom:0}.exemple-reponse .exemple-sources-titre{font:500 .8em var(--font-mono);text-transform:uppercase;margin-top:1rem}.exemple-reponse ul{margin:0;padding-left:1.2rem}.prog-outils{margin:0;padding:0;list-style:none}.prog-outils li{border-top:1px solid var(--black);grid-template-columns:13rem 1fr;gap:1rem;padding:.7rem 0;display:grid}.prog-outils li:last-child{border-bottom:1px solid var(--black)}.prog-outils code{font:500 .85em var(--font-mono);overflow-wrap:anywhere}.prog-code{margin:0}.prog-code pre{background:var(--black);color:var(--white);font:.78em/1.6 var(--font-mono);white-space:pre;margin:0;padding:1.2rem;overflow-x:auto}.prog-liens{flex-wrap:wrap;gap:1rem;margin:0;display:flex}@media (width<=700px){.prog-chiffres,.prog-flux,.prog-outils li,.prog-schema,.prog-stack{grid-template-columns:1fr}.prog-chiffres>div+div{border-left:0;border-top:1px solid var(--black)}.prog-flux{gap:1.5rem}.prog-schema{gap:2.2rem}.prog-schema li:not(:last-child) .schema-bas:after{content:"↓";inset:auto auto -1.6rem .75rem;transform:none}.prog-flux li{min-height:0}.prog-flux li:not(:last-child):after{content:"↓";inset:auto auto -1.35rem .75rem;transform:none}.prog-outils li{gap:.2rem}}.palette li{height:auto;font:inherit;letter-spacing:0;border:0;padding:.5rem 1rem 2rem;display:block}.palette li:last-child{height:15rem}.grille-typo{grid-template-columns:repeat(2,1fr);gap:1.5em;display:grid}.grille-typo figure{margin:0}.grille-typo .typo-nom{grid-column:1/3}.grille-typo figcaption{margin-bottom:1em;font-size:.8em}.grille-typo img{width:100%;height:auto;display:block}.bloc-images,.bloc-video{padding:0}.rangee{gap:0;display:grid}.rangee img{aspect-ratio:auto;-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.bloc-video .rangee{gap:1rem;margin-top:2rem}.lien-collant{z-index:5;justify-content:center;margin:0 0 4rem;display:flex;position:sticky;top:1rem}.bouton{font:inherit;background:var(--black);color:var(--white);border-radius:0;padding:.5rem 2rem}@media (width<=700px){.page-body{--m:1rem;font-size:16px}.projet-infos h1{font-size:1.8rem}.blocs{gap:4rem;padding-top:4rem}.bloc-texte{max-width:100%}.bloc-duo{grid-template-columns:1fr;gap:.75rem}.rangee{grid-template-rows:auto!important;grid-template-columns:1fr!important}.rangee img{height:auto;grid-column:auto!important}}.projet-tags a{color:inherit;text-decoration:none}.projet-tags li:has(a){cursor:pointer}.projet-tags li:has(a):hover{background:var(--black);color:var(--white)}.bloc[id]{scroll-margin-top:2rem}.lien-dossier{margin-top:2rem;font-size:.7em}.lien-dossier a{color:inherit;text-decoration:underline}.bloc-video.portrait video{aspect-ratio:9/16;width:30%;margin:0 auto}.bloc-video iframe{aspect-ratio:16/9;background:#000;border:0;width:100%;display:block}@media (width<=700px){.bloc-video.portrait video{width:70%}}.mem{padding:var(--m) var(--m) 2rem;flex-direction:column}.mem,.mem-bouton{align-items:center;gap:1rem;display:flex}.mem-bouton{cursor:pointer;background:0 0;border:0;margin:0 auto;padding:0;font-size:1em}.mem-bouton img{width:40px;height:auto}.mem-bouton:hover,.mem-mode:hover{transform:scale(1.1)}.mem-jeu{perspective:800px;grid-template-columns:repeat(6,1fr);gap:15px;width:100%;max-width:min(100%,145svh - 23.2rem);margin:0 auto;display:grid}.mem-jeu.mem-flou{filter:blur(5px);pointer-events:none}.mem-tuile{aspect-ratio:256/349;perspective:1000px;cursor:pointer;border-radius:15px;position:relative}.mem-tuile:focus-visible{outline:2px solid var(--violet);outline-offset:3px}.mem-dedans{transform-style:preserve-3d;background:#fff;border-radius:15px;transition:transform .4s ease-in-out;display:block;position:absolute;inset:0}.mem-tuile.retournee .mem-dedans{transform:rotateY(180deg)}.mem-dos,.mem-face{backface-visibility:hidden;border-radius:15px;display:block;position:absolute;inset:0;overflow:hidden}.mem-face{background:#fff;border:1px solid #000;transform:rotateY(-180deg)}.mem-face img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.mem-dos{background-position:50%;background-size:cover}.mem-voile{z-index:5;background:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.mem-galerie,.mem-modale{background:#fff;border-radius:10px;max-width:100%;max-height:100%;position:relative;overflow:auto}.mem-modale{text-align:center;width:700px;padding:30px 10px}.mem-gagne{font:400 1.8em var(--font-projet-titre);color:var(--violet);text-align:center;margin:0;padding:0 2rem}.mem-gagne span{font-size:2.2em}.mem-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin:2rem 0;display:flex}.mem-lien{color:#fff;cursor:pointer;font:inherit;background:#000;border:1px solid #000;border-radius:0;padding:.2rem 1.5rem}.mem-lien-clair{color:#000;background:0 0}.mem-lien:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.mem-fermer{cursor:pointer;background:0 0;border:0;padding:0;position:absolute;top:1rem;right:1rem}.mem-galerie{flex-direction:column;width:100%;max-width:1225px;height:min(70vh,100%);padding:1rem;display:flex}.mem-modes{flex:none;margin-bottom:20px}.mem-mode{cursor:pointer;background:0 0;border:0;height:50px;margin-right:1rem;padding:0}.mem-mode img{width:auto;height:40px}.mem-diaporama{flex-direction:column;flex:1;justify-content:center;width:100%;min-height:0;display:flex;position:relative}.mem-diapo{grid-template-columns:1fr 1fr;align-items:end;gap:4rem;width:100%;padding:0 3rem;display:grid}.mem-diapo .mem-carte{justify-self:end;width:auto;height:calc(min(55vh,500px))}.mem-carte{aspect-ratio:256/349;-o-object-fit:cover;object-fit:cover;background:#fff;border:1px solid #000;border-radius:15px}.mem-texte{font-family:var(--font-projet-texte);margin:0}.mem-diapo .mem-texte{text-align:left;max-width:70%}.mem-texte.intro{font:400 2em var(--font-projet-titre);color:var(--violet)}.mem-nav{cursor:pointer;background:0 0;border:0;padding:10px;position:absolute;top:50%;transform:translateY(-50%)}.mem-nav.prec{left:0}.mem-nav.suiv,.yeux{right:0}.mem-points{justify-content:center;margin-top:10px;display:flex}.mem-point{cursor:pointer;background:#ccc;border:0;border-radius:50%;width:10px;height:10px;margin:0 5px;padding:0}.mem-point.actif{background:#333}.mem-grille{grid-template-columns:repeat(6,1fr);align-content:start;gap:1rem;display:grid}.mem-grille .mem-texte.intro{grid-column:1/-1}.mem-grille .mem-carte{width:100%;height:auto}@media (width<=1023px){.mem-grille,.mem-jeu{grid-template-columns:repeat(4,1fr)}.mem-diapo{grid-template-columns:1fr;justify-items:center;gap:1.5rem;padding:0 2.5rem}.mem-diapo .mem-carte{justify-self:center;height:calc(min(45vh,420px))}.mem-diapo .mem-texte{text-align:center;max-width:100%}.mem-texte.intro{font-size:1.5em}.mem-galerie{height:auto}}@media (width<=767px){.mem-grille,.mem-jeu{grid-template-columns:repeat(3,1fr)}.mem-texte.intro{font-size:1em}.mem-modale{padding-inline:0}}@media (prefers-reduced-motion:reduce){.mem-dedans{transition:none}}.win .text .mail{color:inherit;text-underline-offset:3px;text-decoration:underline}.win .text .mail:hover{color:var(--accent-2)}.win .text .liens{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.bouton.secondaire{color:var(--black);border:1px solid var(--black);background:0 0;padding:.3rem 1.2rem;font-size:.85em}.bouton.secondaire:hover{background:var(--black);color:var(--white);border-color:var(--black)}.tete-doc{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 2rem;display:flex}.text:has(.mascotte){max-width:none}.text:has(.mascotte)>p{max-width:56ch}.mascotte{color:var(--black);cursor:pointer;align-items:flex-end;gap:24px;margin-left:auto;text-decoration:none;display:flex}.mascotte:focus-visible{outline:2px solid var(--violet);outline-offset:6px}.mascotte-perso{transform-origin:50% 100%;flex:none;width:34px;height:42px;margin-bottom:-7px;animation:4.8s ease-in-out infinite mascotte-saut;display:block;position:relative}.mascotte:hover .mascotte-perso{animation-duration:1.4s}.mascotte-corps{--ox:0px;--oy:0px;width:34px;height:34px;animation:3s ease-in-out infinite mascotte-flotte;position:absolute;top:0;left:0}.mascotte-corps img{width:100%;height:100%;display:block}.yeux{transform:translate(var(--ox),var(--oy));justify-content:center;gap:7px;transition:transform .12s ease-out;display:flex;position:absolute;top:9px;left:0}.oeil{background:var(--black);transform-origin:50%;border-radius:50%;width:5.5px;height:5.5px;animation:4s infinite mascotte-clin;display:block}.bouche{fill:none;width:9px;height:5px;stroke:var(--black);stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;transform:translate(calc(var(--ox) * .5),calc(var(--oy) * .5));margin-left:-4.5px;transition:transform .12s ease-out;position:absolute;top:19px;left:50%;overflow:visible}.mascotte:hover .bouche{transform:translate(calc(var(--ox) * .5),calc(var(--oy) * .5)) scale(1.25)}.ombre{background:#00000024;border-radius:50%;width:25px;height:4px;margin-left:-12.5px;animation:3s ease-in-out infinite mascotte-ombre;position:absolute;bottom:0;left:50%}.mascotte-bouton{background:var(--black);max-width:14rem;color:var(--white);text-align:center;text-wrap:balance;flex:none;padding:.5rem 2rem;line-height:1.3;transition:background .2s,color .2s;display:block}.mascotte:focus-visible .mascotte-bouton,.mascotte:hover .mascotte-bouton{background:var(--accent);color:var(--accent-ink)}@keyframes mascotte-flotte{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes mascotte-ombre{0%,to{opacity:1;transform:scaleX(1)}50%{opacity:.75;transform:scaleX(.85)}}@keyframes mascotte-clin{0%,90%,to{transform:scaleY(1)}94%{transform:scaleY(.1)}}@keyframes mascotte-saut{0%,58%,to{transform:translateY(0)scale(1)}62%{transform:translateY(0)scale(1.07,.92)}70%{transform:translateY(-12px)scale(.96,1.06)}78%{transform:translateY(0)scale(1.07,.92)}83%{transform:translateY(-4px)scale(1)}88%{transform:translateY(0)scale(1.03,.97)}92%{transform:translateY(0)scale(1)}}@media (width<=700px){.tete-doc{flex-direction:column}.mascotte{gap:1rem;width:100%;margin-left:0}.mascotte-bouton{flex:1;max-width:none;padding:.5rem 1rem}}@media (prefers-reduced-motion:reduce){.mascotte-corps,.mascotte-perso,.oeil,.ombre{animation:none}.bouche,.logo-rond,.yeux{transition:none}}.compagnon{z-index:45;pointer-events:none;opacity:0;will-change:transform;width:34px;height:34px;transition:opacity .25s;position:fixed;top:0;left:0}.compagnon.visible{opacity:1}.folders .folder{z-index:1;position:relative}.cache{z-index:0;opacity:0;will-change:transform;width:34px;height:34px;top:0;left:0}.cache,.cache:after{pointer-events:none;position:absolute}.cache:after{content:"";background:linear-gradient(var(--ombre,to left),#140e468c 0,#140e4647 38%,#140e4600 72%);border-radius:50%;inset:0}
