
:root{
--pfr-font:'Kumbh Sans',system-ui,sans-serif;
--pfr-deep:var(--theme-texte-principal);
--pfr-accent:var(--theme-texte-principal);
--pfr-bg:var(--theme-page);
--pfr-ink:var(--palette-fin-quiz-texte);
--pfr-primary:var(--pfr-deep);
--pfr-deeper:color-mix(in oklab, var(--pfr-deep) 82%, var(--palette-fond-inverse-visio-3));
--pfr-bg2:color-mix(in oklab, var(--pfr-deep) 4%, var(--palette-surface-action-finances-3));
--pfr-bg3:color-mix(in oklab, var(--pfr-deep) 3%, var(--palette-surface-action-styles-en-ligne-2));
--pfr-border:color-mix(in oklab, var(--pfr-deep) 9%, var(--theme-surface));
--pfr-border2:color-mix(in oklab, var(--pfr-ink) 22%, var(--theme-surface));
--pfr-tint:color-mix(in oklab, var(--theme-fond-action) 12%, var(--theme-surface));
--pfr-tint2:color-mix(in oklab, var(--theme-fond-action) 7%, var(--theme-surface));
--pfr-tintborder:color-mix(in oklab, var(--theme-fond-action) 20%, var(--theme-surface));
--pfr-chipink:color-mix(in oklab, var(--pfr-primary) 70%, var(--pfr-deep));
--pfr-ink2:color-mix(in oklab, var(--pfr-ink) 82%, var(--theme-surface));
--pfr-ink3:color-mix(in oklab, var(--pfr-ink) 66%, var(--theme-surface));
--pfr-muted:color-mix(in oklab, var(--pfr-ink) 50%, var(--theme-surface));
--pfr-faint:color-mix(in oklab, var(--pfr-ink) 36%, var(--theme-surface));
--pfr-ondeep2:color-mix(in oklab, var(--pfr-deep) 14%, var(--theme-surface));
--pfr-ondeep4:color-mix(in oklab, var(--pfr-deep) 44%, var(--theme-surface));
--pfr-green:var(--palette-fin-quiz-succes);
}

.vitrine{margin:0;background:var(--pfr-bg);color:var(--pfr-ink);font-family:var(--pfr-font);-webkit-font-smoothing:antialiased}
.vitrine a{color:var(--pfr-primary);text-decoration:none}
:where(.vitrine) a:hover{color:var(--pfr-deep)}
.vitrine input::placeholder{color:var(--pfr-faint)}
@keyframes pfrPulse{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--pfr-green) 50%, transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes pfrFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes pfrDots{0%,80%,100%{opacity:0.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes pfrChat1{0%,4%{opacity:0;transform:translateY(10px)}9%,92%{opacity:1;transform:translateY(0)}97%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrChat2{0%,16%{opacity:0;transform:translateY(10px)}21%,92%{opacity:1;transform:translateY(0)}97%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrTyping{0%,27%{opacity:0;transform:translateY(6px)}31%,45%{opacity:1;transform:translateY(0)}47%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrChat3{0%,47%{opacity:0;transform:translateY(10px)}52%,92%{opacity:1;transform:translateY(0)}97%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrToast{0%,60%{opacity:0;transform:translateY(12px)}65%,92%{opacity:1;transform:translateY(0)}97%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media (prefers-reduced-motion:reduce){[data-anim]{animation:none !important;opacity:1 !important;transform:none !important}[data-anim="typing"]{display:none !important}}


.vitrine .vtr-source { display: inline-block; margin-top: 8px; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }

/* Animations du HTML de référence, communes aux versions bureau et mobile. */
@keyframes pfrBlink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes pfrFeed0{0%,2.0%{opacity:0;transform:translateY(10px)}3.5%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed1{0%,6.4%{opacity:0;transform:translateY(10px)}7.9%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed2{0%,10.8%{opacity:0;transform:translateY(10px)}12.3%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed3{0%,15.2%{opacity:0;transform:translateY(10px)}16.7%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed4{0%,19.6%{opacity:0;transform:translateY(10px)}21.1%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed5{0%,24.0%{opacity:0;transform:translateY(10px)}25.5%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed6{0%,28.4%{opacity:0;transform:translateY(10px)}29.9%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed7{0%,32.8%{opacity:0;transform:translateY(10px)}34.3%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed8{0%,37.2%{opacity:0;transform:translateY(10px)}38.7%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed9{0%,41.6%{opacity:0;transform:translateY(10px)}43.1%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed10{0%,46.0%{opacity:0;transform:translateY(10px)}47.5%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed11{0%,50.4%{opacity:0;transform:translateY(10px)}51.9%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed12{0%,54.8%{opacity:0;transform:translateY(10px)}56.3%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed13{0%,59.2%{opacity:0;transform:translateY(10px)}60.7%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed14{0%,63.6%{opacity:0;transform:translateY(10px)}65.1%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed15{0%,68.0%{opacity:0;transform:translateY(10px)}69.5%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed16{0%,72.4%{opacity:0;transform:translateY(10px)}73.9%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed17{0%,76.8%{opacity:0;transform:translateY(10px)}78.3%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed18{0%,81.2%{opacity:0;transform:translateY(10px)}82.7%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed19{0%,85.6%{opacity:0;transform:translateY(10px)}87.1%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrFeed20{0%,90.0%{opacity:0;transform:translateY(10px)}91.5%,96%{opacity:1;transform:translateY(0)}98.5%,100%{opacity:0;transform:translateY(0)}}
@keyframes pfrProgress{from{width:0}to{width:100%}}
