:root{--spring-soft:linear(0,0.023,0.083,0.168,0.268,0.376,0.483,0.587,0.682,0.768,0.842,0.905,0.956,0.996,1.027,1.048,1.062,1.07,1.073,1.072,1.068,1.062,1.055,1.047,1.039,1.031,1.024,1.018,1.012,1.008,1.004,1.001,0.998,0.997,0.996,0.995,0.995,0.995,0.995,0.995,0.996,0.996,0.997,0.998,1);--spring-snap:linear(0,0.016,0.056,0.115,0.185,0.262,0.341,0.42,0.496,0.569,0.636,0.696,0.751,0.799,0.842,0.878,0.909,0.934,0.956,0.973,0.987,0.997,1.005,1.011,1.015,1.018,1.019,1.02,1.02,1.019,1.018,1.016,1.015,1.013,1.012,1.01,1.009,1.007,1.006,1.005,1.004,1.003,1.003,1.002,1);--spring-pop:linear(0,0.052,0.184,0.364,0.562,0.755,0.924,1.059,1.154,1.211,1.233,1.226,1.199,1.159,1.113,1.068,1.026,0.993,0.968,0.953,0.946,0.946,0.952,0.96,0.971,0.982,0.992,1,1.006,1.01,1.012,1.013,1.012,1.01,1.007,1.005,1.002,1,0.999,0.998,0.997,0.997,0.997,0.998,1);--spring-calme:linear(0,0.008,0.031,0.064,0.105,0.151,0.201,0.253,0.306,0.358,0.41,0.46,0.507,0.553,0.596,0.636,0.673,0.707,0.739,0.768,0.795,0.819,0.841,0.861,0.878,0.894,0.908,0.921,0.932,0.942,0.951,0.958,0.965,0.97,0.975,0.98,0.984,0.987,0.989,0.992,0.994,0.995,0.997,0.998,1);--lum:76,195,255;--arete-haut:rgba(255,255,255,0.2);--arete-bas:rgba(255,255,255,0.04);--arete-bleu:rgba(76,195,255,0.22);--faisceau-a:0.5;--rayon-a:0.12;--grille:rgba(255,255,255,0.045);--cadre:#07080b;--cadre-ombre:0 -60px 140px -50px rgba(var(--lum),0.28),0 50px 120px -30px rgba(0,0,0,0.9),0 12px 30px -10px rgba(0,0,0,0.7)}html[data-resolved=light],html[data-theme=light]{--lum:10,124,190;--arete-haut:rgba(255,255,255,1);--arete-bas:rgba(16,24,40,0.1);--arete-bleu:rgba(10,103,160,0.3);--faisceau-a:0.22;--rayon-a:0.065;--grille:rgba(16,24,40,0.055);--cadre:#ffffff;--cadre-ombre:0 -40px 110px -50px rgba(var(--lum),0.3),0 40px 90px -30px rgba(16,24,40,0.3),0 10px 26px -10px rgba(16,24,40,0.22)}@layer components{.btn{transition:background-color .2s var(--ease-out),border-color .2s var(--ease-out),box-shadow .25s var(--ease-out),color .2s var(--ease-out),transform .4s var(--spring-snap);will-change:auto;overflow:hidden;isolation:isolate}.btn:hover:not(:disabled):not([aria-disabled=true]){transform:translateY(-1px)}.btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px) scale(.975);transition-duration:.08s}.btn-primary:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease-out);pointer-events:none}.btn-primary:hover:not(:disabled):after{transform:translateX(120%)}.btn-secondary:hover:not(:disabled):not([aria-disabled=true]){box-shadow:var(--btn-s-sh),0 0 0 1px rgba(var(--lum),.28)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.45rem;padding:0 .4rem;border-radius:6px;border:solid var(--line-strong);border-width:1px 1px 2px;background:linear-gradient(180deg,var(--raised),var(--widget));color:var(--muted);font-family:var(--font-bulle-mono),ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;font-weight:600;line-height:1;box-shadow:inset 0 1px 0 var(--arete-haut);transition:transform .3s var(--spring-snap),border-color .2s,color .2s,background-color .2s}.kbd[data-presse=true]{transform:translateY(1px);border-bottom-width:1px;color:var(--text-strong);border-color:rgba(var(--lum),.6);background:rgba(var(--lum),.16)}.kbd-sur-bleu{background:rgba(255,255,255,.94);border-color:rgba(4,32,47,.3);color:#04202f;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(4,32,47,.25)}.kbd-sur-bleu[data-presse=true]{background:#ffffff;border-color:rgba(4,32,47,.55);color:#04202f}.faisceau{position:absolute;inset:0 0 auto 0;height:min(78vh,760px);overflow:hidden;pointer-events:none;contain:paint;-webkit-mask-image:linear-gradient(180deg,#000,#000 55%,transparent);mask-image:linear-gradient(180deg,#000,#000 55%,transparent)}.faisceau-cone,.faisceau-rayons{position:absolute;left:50%;top:-6%;width:150%;height:120%;transform-origin:50% 0;margin-left:-75%}.faisceau-cone{background:conic-gradient(from 0deg at 50% 0,transparent 0deg 154deg,rgba(var(--lum),calc(var(--faisceau-a) * .55)) 172deg,rgba(var(--lum),var(--faisceau-a)) 180deg,rgba(var(--lum),calc(var(--faisceau-a) * .55)) 188deg,transparent 206deg 1turn);filter:blur(26px)}.faisceau-rayons{background:repeating-conic-gradient(from 0deg at 50% 0,rgba(var(--lum),var(--rayon-a)) 0deg .35deg,transparent .35deg 1.7deg);-webkit-mask-image:conic-gradient(from 0deg at 50% 0,transparent 0deg 156deg,#000 180deg,transparent 204deg 1turn);mask-image:conic-gradient(from 0deg at 50% 0,transparent 0deg 156deg,#000 180deg,transparent 204deg 1turn)}.faisceau--hero{transform:none}@keyframes bulle-rebond{0%,70%,to{transform:translateY(0);opacity:.3}35%{transform:translateY(-4px);opacity:1}}@keyframes bulle-glisse{0%{background-position:-40% 0}to{background-position:140% 0}}.bulle-reflexion{display:flex;align-items:center;gap:8px;min-height:28px}.bulle-reflexion .mot{color:var(--muted);font-weight:500;font-size:15px}.bulle-reflexion .points{display:inline-flex;gap:4px;align-items:center}.bulle-reflexion .points i{width:5px;height:5px;border-radius:50%;background:var(--bull);display:block;animation:bulle-rebond 1s ease-in-out infinite}.bulle-reflexion .points i:nth-child(2){animation-delay:.16s}.bulle-reflexion .points i:nth-child(3){animation-delay:.32s}.bulle-barre-reflexion{height:2px;margin-top:8px;max-width:220px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--muted),transparent);background-size:35% 100%;background-repeat:no-repeat;animation:bulle-glisse 1.15s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.bulle-barre-reflexion,.bulle-reflexion .points i{animation:none}}.orbite-continue .o-orbit{opacity:.85;animation:o-tourne 10s linear infinite}.orbite-continue .o-orbit .arc-b{animation:o-tourne 6.5s linear infinite reverse}.orbite-continue .o-lueur{opacity:.35;transform:scale(1)}.rail-defile{position:absolute;left:0;top:6px;bottom:6px;width:1px;background:var(--line-strong)}.rail-defile>i{position:absolute;inset:0;background:var(--bull);transform-origin:top;transform:scaleY(var(--p,0))}.grille-fine{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--grille) 1px,transparent 1px),linear-gradient(90deg,var(--grille) 1px,transparent 1px);background-size:64px 64px;background-position:top;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0,#000 0,transparent 72%);mask-image:radial-gradient(ellipse 70% 60% at 50% 0,#000 0,transparent 72%)}.fenetre{position:relative;border-radius:16px;border:1px solid transparent;background:linear-gradient(var(--cadre),var(--cadre)) padding-box,linear-gradient(180deg,var(--arete-haut),var(--arete-bas) 38%,var(--arete-bleu)) border-box;box-shadow:var(--cadre-ombre);overflow:hidden}.fenetre:after{content:"";position:absolute;inset:0 0 auto 0;height:38%;background:linear-gradient(180deg,rgba(255,255,255,.045),transparent);pointer-events:none}html[data-resolved=light] .fenetre:after{display:none}.lumiere{position:relative;isolation:isolate}.lumiere:before{inset:-1px;padding:1px;background:radial-gradient(260px circle at var(--mx,-400px) var(--my,-400px),rgba(var(--lum),.75),transparent 62%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);z-index:2}.lumiere:after,.lumiere:before{content:"";position:absolute;border-radius:inherit;opacity:0;transition:opacity .35s var(--ease-out);pointer-events:none}.lumiere:after{inset:0;background:radial-gradient(360px circle at var(--mx,-400px) var(--my,-400px),rgba(var(--lum),.07),transparent 65%);z-index:0}@media (hover:hover){.lumiere:hover:after,.lumiere:hover:before{opacity:1}}.sortie-bas{animation:sortie-bas 1.1s var(--spring-soft) both;animation-delay:var(--d,0s)}@keyframes sortie-bas{0%{opacity:0;transform:translateY(46px) scale(.965);filter:blur(10px)}35%{filter:blur(0)}to{opacity:1;transform:none;filter:blur(0)}}.monte{animation:monte .9s var(--spring-soft) both;animation-delay:var(--d,0s)}@keyframes monte{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.pop{animation:pop .8s var(--spring-pop) both;animation-delay:var(--d,0s)}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.scene-defile{transform-origin:50% 0;transform:perspective(1800px) rotateX(calc((1 - var(--p, 1)) * 16deg)) translateY(calc((1 - var(--p, 1)) * 36px)) scale(calc(.93 + .07 * var(--p, 1)));opacity:calc(.55 + .45 * var(--p, 1));will-change:transform}.menu-mobile{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;animation:menu-ouvre .65s var(--ease-out) both}.menu-mobile[data-ferme=true]{animation:menu-ferme .32s var(--ease-in-out) both;pointer-events:none}@keyframes menu-ouvre{0%{clip-path:circle(0 at calc(100% - 34px) 32px)}to{clip-path:circle(160vmax at calc(100% - 34px) 32px)}}@keyframes menu-ferme{0%{clip-path:circle(160vmax at calc(100% - 34px) 32px)}to{clip-path:circle(0 at calc(100% - 34px) 32px)}}.menu-item{animation:monte .8s var(--spring-soft) both;animation-delay:calc(.12s + var(--i, 0) * 55ms)}.menu-mobile[data-ferme=true] .menu-item{animation:none}.bascule-theme{position:relative;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid var(--line-strong);background:linear-gradient(180deg,var(--raised),var(--widget));color:var(--text);box-shadow:inset 0 1px 0 var(--arete-haut);cursor:pointer;overflow:hidden;transition:transform .4s var(--spring-snap),border-color .2s;-webkit-tap-highlight-color:transparent}.bascule-theme:hover{border-color:rgba(var(--lum),.5)}.bascule-theme:active{transform:scale(.9);transition-duration:.08s}.bascule-theme svg{grid-area:1/1;transition:transform .7s var(--spring-soft),opacity .3s}html[data-resolved=dark] .bascule-theme .i-soleil{transform:rotate(-90deg) scale(.3);opacity:0}html[data-resolved=light] .bascule-theme .i-lune{transform:rotate(90deg) scale(.3);opacity:0}.bulle-orb .o-etincelle,.bulle-orb .o-orbit{position:absolute;pointer-events:none}.bulle-orb .o-orbit{inset:-16%;width:132%;height:132%;overflow:visible;opacity:0;transform-origin:center;transition:opacity .4s var(--ease-out)}.bulle-orb .o-orbit circle{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.bulle-orb[data-etat=thinking] .o-orbit{opacity:1;animation:o-tourne 1.6s linear infinite}.bulle-orb[data-etat=writing] .o-orbit{opacity:.55;animation:o-tourne 5s linear infinite}.bulle-orb .o-orbit .arc-b{transform-origin:center;animation:o-tourne 2.4s linear infinite reverse}@keyframes o-tourne{to{transform:rotate(1turn)}}.bulle-orb .o-etincelle{width:16%;height:16%;opacity:0;color:var(--bull)}.bulle-orb .o-etincelle svg{width:100%;height:100%;display:block}.bulle-orb .o-etincelle.e1{left:-10%;top:12%}.bulle-orb .o-etincelle.e2{right:-12%;top:38%;width:12%;height:12%}.bulle-orb .o-etincelle.e3{left:6%;bottom:-6%;width:11%;height:11%}.bulle-orb[data-etat=writing] .o-etincelle{animation:o-etincelle 1.5s var(--ease-out) infinite}.bulle-orb[data-etat=writing] .o-etincelle.e2{animation-delay:.5s}.bulle-orb[data-etat=writing] .o-etincelle.e3{animation-delay:1s}.bulle-orb[data-etat=done] .o-etincelle{animation:o-etincelle-fin .9s var(--spring-pop) both}.bulle-orb[data-etat=done] .o-etincelle.e2{animation-delay:.08s}.bulle-orb[data-etat=done] .o-etincelle.e3{animation-delay:.16s}@keyframes o-etincelle{0%{opacity:0;transform:scale(0) rotate(-30deg)}35%{opacity:1;transform:scale(1) rotate(0)}to{opacity:0;transform:scale(.2) rotate(40deg) translateY(-6px)}}@keyframes o-etincelle-fin{0%{opacity:0;transform:scale(0)}30%{opacity:1}to{opacity:0;transform:scale(1.5) rotate(20deg)}}.bulle-orb .o-lueur{position:absolute;inset:-40%;border-radius:50%;background:radial-gradient(circle,rgba(var(--lum),.5) 0,rgba(var(--lum),.14) 38%,transparent 68%);opacity:0;transform:scale(.7);transition:opacity .5s var(--ease-out),transform .9s var(--spring-soft);pointer-events:none}.bulle-orb[data-etat=thinking] .o-lueur{opacity:.55;transform:scale(.95);animation:o-lueur-pouls 1.2s ease-in-out infinite alternate}.bulle-orb[data-etat=writing] .o-lueur{opacity:.85;transform:scale(1.1);animation:o-lueur-pouls .7s ease-in-out infinite alternate}.bulle-orb[data-etat=done] .o-lueur{opacity:.4;transform:scale(1)}@keyframes o-lueur-pouls{to{transform:scale(1.22);opacity:.45}}html[data-resolved=light] .bulle-orb .o-lueur{background:radial-gradient(circle,rgba(var(--lum),.38) 0,rgba(var(--lum),.1) 40%,transparent 68%)}.ligne-ecrite{position:relative;animation:ligne-ecrite .7s var(--spring-soft) both}.ligne-ecrite:before{content:"";position:absolute;inset:0 0 0 0;background:linear-gradient(90deg,rgba(var(--lum),.22),transparent 70%);transform-origin:left;animation:ligne-balayage .9s var(--ease-out) both}@keyframes ligne-ecrite{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}@keyframes ligne-balayage{0%{transform:scaleX(0);opacity:1}to{transform:scaleX(1);opacity:0}}.etape-ia{display:flex;align-items:center;gap:.5rem;font-size:12.5px;color:var(--muted);animation:monte .7s var(--spring-soft) both}.etape-ia .coche{display:grid;place-items:center;background:var(--bull-soft);color:var(--accent)}.etape-ia .coche,.etape-ia .rond{width:15px;height:15px;border-radius:999px}.etape-ia .rond{border:1.5px solid rgba(var(--lum),.25);border-top-color:var(--bull);animation:o-tourne .8s linear infinite}.scene-pile>.scene{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transform:translateY(26px) scale(.975);filter:blur(8px);pointer-events:none;transition:opacity .45s var(--ease-out),transform .9s var(--spring-soft),filter .45s var(--ease-out)}.scene-pile>.scene[data-actif=true]{opacity:1;transform:none;filter:none;pointer-events:auto}.etape-texte{opacity:.38;transition:opacity .5s var(--ease-out)}.etape-texte[data-actif=true]{opacity:1}.etape-texte .rail{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line-strong)}.etape-texte .rail>i{position:absolute;inset:0;background:var(--bull);transform-origin:top;transform:scaleY(0);transition:transform .9s var(--spring-calme)}.etape-texte[data-actif=true] .rail>i{transform:scaleY(1)}.barre-remplie{transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--spring-calme);transition-delay:var(--d,0s)}.vu .barre-remplie,[data-actif=true] .barre-remplie{transform:scaleX(var(--v,1))}.masque-ouvre{clip-path:inset(0 0 100% 0 round 18px);transition:clip-path 1.1s var(--ease-out);transition-delay:var(--d,0s)}.masque-ouvre>img{transform:scale(1.18);transition:transform 1.6s var(--ease-out);transition-delay:var(--d,0s)}.masque-ouvre.vu,.vu .masque-ouvre{clip-path:inset(0 0 0 0 round 18px)}.masque-ouvre.vu>img,.vu .masque-ouvre>img{transform:scale(1)}.paquet{position:absolute;top:50%;left:0;width:7px;height:7px;margin-top:-3.5px;border-radius:999px;background:var(--bull);box-shadow:0 0 0 3px rgba(var(--lum),.18);animation:paquet 2.1s linear infinite;animation-delay:var(--d,0s);opacity:0}@keyframes paquet{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}to{left:calc(100% - 7px);opacity:0}}.bandeau{display:flex;width:max-content;animation:bandeau 38s linear infinite}.bandeau:hover{animation-play-state:paused}@keyframes bandeau{to{transform:translateX(-50%)}}.mot-masque{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}.mot-masque>span{display:inline-block;animation:mot-monte 1s var(--spring-soft) both;animation-delay:var(--d,0s)}@keyframes mot-monte{0%{transform:translateY(105%) rotate(2.5deg)}to{transform:none}}@media (prefers-reduced-motion:reduce){.bandeau,.faisceau-cone,.faisceau-rayons,.orbite-continue .o-orbit,.orbite-continue .o-orbit .arc-b,.paquet{animation:none}.faisceau--hero{transform:none;opacity:1}.menu-item,.monte,.mot-masque>span,.pop,.sortie-bas{animation:none}.scene-defile{transform:none;opacity:1}.masque-ouvre{clip-path:none}.masque-ouvre>img{transform:none}.menu-mobile{animation:none}.scene-pile>.scene{transition:opacity .2s;transform:none;filter:none}}}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){animation:theme-disque .75s cubic-bezier(.22,1,.36,1) both}@keyframes theme-disque{0%{clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,0))}to{clip-path:circle(var(--vt-r,150vmax) at var(--vt-x,50%) var(--vt-y,0))}}@media (prefers-reduced-motion:reduce){::view-transition-new(root){animation:none}}